Module cloudi_core_i_configuration

CloudI Configuration

.

Copyright © 2009-2016 Michael Truog

Version: 1.5.4 Oct 7 2016 12:03:16 ------------------------------------------------------------------------

Authors: Michael Truog (mjtruog [at] gmail (dot) com).

Description

CloudI Configuration

Data Types

error_reason_acl_add()

error_reason_acl_add() = error_reason_acl_add_configuration()

error_reason_acl_add_configuration()

error_reason_acl_add_configuration() = {acl_invalid | acl_cyclic | acl_not_found, any()}

error_reason_acl_remove()

error_reason_acl_remove() = error_reason_acl_remove_configuration()

error_reason_acl_remove_configuration()

error_reason_acl_remove_configuration() = {acl_invalid, any()}

error_reason_logging_formatters_set()

error_reason_logging_formatters_set() = error_reason_logging_formatters_set_configuration()

error_reason_logging_formatters_set_configuration()

error_reason_logging_formatters_set_configuration() = {logging_formatters_invalid | logging_formatter_modules_invalid | logging_formatter_level_invalid | logging_formatter_output_invalid | logging_formatter_output_args_invalid | logging_formatter_output_max_r_invalid | logging_formatter_output_max_t_invalid | logging_formatter_formatter_invalid | logging_formatter_formatter_config_invalid, any()}

error_reason_logging_set()

error_reason_logging_set() = error_reason_logging_set_configuration()

error_reason_logging_set_configuration()

error_reason_logging_set_configuration() = {node_invalid | logging_invalid | logging_redirect_invalid | logging_file_invalid | logging_level_invalid, any()} | error_reason_logging_syslog_set_configuration() | error_reason_logging_formatters_set_configuration()

error_reason_logging_syslog_set()

error_reason_logging_syslog_set() = error_reason_logging_syslog_set_configuration()

error_reason_logging_syslog_set_configuration()

error_reason_logging_syslog_set_configuration() = {logging_syslog_invalid | logging_syslog_identity_invalid | logging_syslog_facility_invalid | logging_syslog_level_invalid | logging_syslog_facility_invalid, any()}

error_reason_new()

error_reason_new() = error_reason_acl_add_configuration() | error_reason_services_add_configuration() | error_reason_nodes_set_configuration() | error_reason_logging_set_configuration() | {invalid, any()}

error_reason_nodes_add()

error_reason_nodes_add() = error_reason_nodes_add_configuration()

error_reason_nodes_add_configuration()

error_reason_nodes_add_configuration() = {node_invalid, any()}

error_reason_nodes_remove()

error_reason_nodes_remove() = error_reason_nodes_remove_configuration()

error_reason_nodes_remove_configuration()

error_reason_nodes_remove_configuration() = {node_invalid | node_not_found, any()}

error_reason_nodes_set()

error_reason_nodes_set() = error_reason_nodes_set_configuration()

error_reason_nodes_set_configuration()

error_reason_nodes_set_configuration() = {node_invalid | node_reconnect_start_invalid | node_reconnect_start_min | node_reconnect_delay_invalid | node_reconnect_delay_min | node_listen_invalid | node_connect_invalid | node_timestamp_type_invalid | node_discovery_invalid | node_discovery_ambiguous | node_discovery_multicast_invalid | node_discovery_multicast_interface_invalid | node_discovery_multicast_address_invalid | node_discovery_multicast_port_invalid | node_discovery_multicast_ttl_invalid | node_discovery_ec2_invalid | node_discovery_ec2_access_key_id_invalid | node_discovery_ec2_secret_access_key_invalid | node_discovery_ec2_host_invalid | node_discovery_ec2_tags_selection_null | node_discovery_ec2_groups_invalid | node_discovery_ec2_tags_invalid, any()}

error_reason_services_add()

error_reason_services_add() = error_reason_services_add_configuration() | cloudi_core_i_configurator:error_reason_service_start()

error_reason_services_add_configuration()

error_reason_services_add_configuration() = {acl_invalid | acl_not_found | service_invalid | service_internal_invalid | service_internal_prefix_invalid | service_internal_module_invalid | service_internal_args_invalid | service_internal_dest_refresh_invalid | service_internal_timeout_init_invalid | service_internal_timeout_async_invalid | service_internal_timeout_sync_invalid | service_internal_dest_list_deny_invalid | service_internal_dest_list_allow_invalid | service_internal_count_process_invalid | service_internal_max_r_invalid | service_internal_max_t_invalid | service_internal_max_t_increase | service_internal_options_invalid | service_external_invalid | service_external_prefix_invalid | service_external_file_path_invalid | service_external_args_invalid | service_external_env_invalid | service_external_dest_refresh_invalid | service_external_protocol_invalid | service_external_buffer_size_invalid | service_external_timeout_init_invalid | service_external_timeout_async_invalid | service_external_timeout_sync_invalid | service_external_dest_list_deny_invalid | service_external_dest_list_allow_invalid | service_external_count_process_invalid | service_external_count_thread_invalid | service_external_max_r_invalid | service_external_max_t_invalid | service_external_max_t_increase | service_external_options_invalid | service_options_priority_default_invalid | service_options_queue_limit_invalid | service_options_queue_size_invalid | service_options_rate_request_max_invalid | service_options_dest_refresh_start_invalid | service_options_dest_refresh_delay_invalid | service_options_request_name_lookup_invalid | service_options_request_timeout_adjustment_invalid | service_options_request_timeout_immediate_max_invalid | service_options_response_timeout_adjustment_invalid | service_options_response_timeout_immediate_max_invalid | service_options_count_process_dynamic_invalid | service_options_timeout_terminate_invalid | service_options_timeout_terminate_decrease | service_options_scope_invalid | service_options_monkey_latency_invalid | service_options_monkey_chaos_invalid | service_options_automatic_loading_invalid | service_options_dispatcher_pid_options_invalid | service_options_aspects_init_invalid | service_options_aspects_request_invalid | service_options_aspects_info_invalid | service_options_aspects_terminate_invalid | service_options_limit_invalid | service_options_owner_invalid | service_options_nice_invalid | service_options_cgroup_invalid | service_options_directory_invalid | service_options_application_name_invalid | service_options_init_pid_options_invalid | service_options_request_pid_uses_invalid | service_options_request_pid_options_invalid | service_options_info_pid_uses_invalid | service_options_info_pid_options_invalid | service_options_pid_invalid | service_options_duo_mode_invalid | service_options_hibernate_invalid | service_options_reload_invalid | service_options_invalid, any()}

error_reason_services_remove()

error_reason_services_remove() = error_reason_services_remove_configuration() | cloudi_core_i_configurator:error_reason_service_stop()

error_reason_services_remove_configuration()

error_reason_services_remove_configuration() = {service_invalid | service_not_found, any()}

error_reason_services_restart()

error_reason_services_restart() = error_reason_services_restart_configuration() | cloudi_core_i_configurator:error_reason_service_restart()

error_reason_services_restart_configuration()

error_reason_services_restart_configuration() = {service_invalid | service_not_found, any()}

error_reason_services_update()

error_reason_services_update() = error_reason_services_update_configuration()

error_reason_services_update_configuration()

error_reason_services_update_configuration() = {update_invalid | service_update_invalid | service_update_type_invalid | service_update_module_invalid | service_update_module_state_invalid | service_update_file_path_invalid | service_update_args_invalid | service_update_env_invalid | service_update_sync_invalid | service_update_modules_load_invalid | service_update_modules_unload_invalid | service_update_code_paths_add_invalid | service_update_code_paths_remove_invalid | service_update_dest_refresh_invalid | service_update_timeout_init_invalid | service_update_timeout_async_invalid | service_update_timeout_sync_invalid | service_update_dest_list_deny_invalid | service_update_dest_list_allow_invalid | service_options_priority_default_invalid | service_options_queue_limit_invalid | service_options_queue_size_invalid | service_options_rate_request_max_invalid | service_options_dest_refresh_start_invalid | service_options_dest_refresh_delay_invalid | service_options_request_name_lookup_invalid | service_options_request_timeout_adjustment_invalid | service_options_request_timeout_immediate_max_invalid | service_options_response_timeout_adjustment_invalid | service_options_response_timeout_immediate_max_invalid | service_options_monkey_latency_invalid | service_options_monkey_chaos_invalid | service_options_dispatcher_pid_options_invalid | service_options_aspects_init_invalid | service_options_aspects_request_invalid | service_options_aspects_info_invalid | service_options_aspects_terminate_invalid | service_options_init_pid_options_invalid | service_options_request_pid_uses_invalid | service_options_request_pid_options_invalid | service_options_info_pid_uses_invalid | service_options_info_pid_options_invalid | service_options_pid_invalid | service_options_hibernate_invalid | service_options_reload_invalid | service_options_limit_invalid | service_update_options_invalid, any()}

Function Index

acl/1

List all ACL entries.

.
acl_add/2

Add Access Control List (ACL) aliases (atom -> service name prefixes).

.
acl_remove/2

Remove Access Control List (ACL) aliases.

.
load/1

Process the CloudI configuration data.

logging:

{logging, [{file, "path/to/log/file"}, {level, Level}]}

.
logging/1

Provide the current logging configuration.

.
logging_formatters_set/2

Set the CloudI log formatters.

.
logging_level_highest/1

Determine the highest logging level in the list.

.
logging_set/2

Set CloudI logging configuration.

.
logging_syslog_set/2

Set CloudI syslog configuration.

.
nodes_add/2

Add CloudI nodes.

.
nodes_get/1

Get CloudI nodes configuration.

.
nodes_remove/2

Remove CloudI nodes.

.
nodes_set/2

Set CloudI nodes configuration.

.
service_format/1

Provide the configuration format, as it was provided.

Using the tuple format.
service_options_copy/3

Copy specific fields from validated service configuration options.

.
services/1

Display the currently running services (including their UUID).

.
services_add/3

Add services based on the configuration format.

.
services_format_options_external/1

Provide the external service configuration options in the configuration format with defaults ignored.

.
services_format_options_internal/1

Provide the internal service configuration options in the configuration format with defaults ignored.

.
services_remove/3

Remove services based on their UUID.

.
services_restart/3

Restart services based on their UUID.

.
services_search/2

Search services based on their UUID.

.
services_update/3

Update services after checking their UUID.

.

Function Details

acl/1

acl(Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> [{atom(), [cloudi_service:service_name_pattern()]}]

List all ACL entries.

acl_add/2

acl_add(Value::[{atom(), cloudi_service_api:acl()}], Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_acl_add()}

Add Access Control List (ACL) aliases (atom -> service name prefixes).

acl_remove/2

acl_remove(Value::[atom()], Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_acl_remove()}

Remove Access Control List (ACL) aliases.

load/1

load(Path::string() | [tuple()]) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, file:posix() | badarg | system_limit | terminated | {configuration_invalid | parse_error, any()} | error_reason_new()}

Process the CloudI configuration data.

logging:

{logging, [{file, "path/to/log/file"}, {level, Level}]}

The logging level is specified as an atom:

off, fatal, error, warn, info, debug, trace

services:

{services, [{internal, ServiceNamePrefix, ErlangModuleName, ModuleInitializationList, DestinationRefreshMethod, InitializationTimeout, DefaultAsynchronousTimeout, DefaultSynchronousTimeout, DestinationDenyList, DestinationAllowList, ProcessCount, MaxR, MaxT, ServiceOptions}, {external, ServiceNamePrefix, ExecutableFilePath, ExecutableCommandLineArguments, ExecutableEnvironmentalVariables, DestinationRefreshMethod, Protocol, ProtocolBufferSize, InitializationTimeout, DefaultAsynchronousTimeout, DefaultSynchronousTimeout, DestinationDenyList, DestinationAllowList, ProcessCount, ThreadCount, MaxR, MaxT, ServiceOptions}]}

Services configuration defines all the necessary information for the lifetime of running the service. Every service defines a name prefix which provides scope for the service (ServiceNamePrefix) and typically uses the forward slash ('/') character as a path delimiter (though this convention is not required for service functionality). An internal service is an Erlang application or module that exists in the code search path and is started with a list of initialization arguments (ErlangModuleName and ModuleInitializationList). An external service is an executable that has integrated with the CloudI API and is provided as the executable file path (ExecutableFilePath). An external service also specifies the command line arguments and the environmental variables (ExecutableCommandLineArguments and ExecutableEnvironmentalVariables) that are used when executing the service.

Each service configuration then defines the destination refresh method (DestinationRefreshMethod) which may be set to: lazy_closest, lazy_furthest, lazy_random, lazy_local, lazy_remote, lazy_newest, lazy_oldest, immediate_closest, immediate_furthest, immediate_random, immediate_local, immediate_remote, immediate_newest, immediate_oldest, or none. A "lazy" destination refresh method prefix is used by services that send messages to only long-lived services and will avoid contention for doing service name lookups (i.e., the most scalable choice). An "immediate" destination refresh method prefix is used by services that send messages to short-lived services. A "closest" destination refresh method suffix always prefers to send to a service on the local machine rather than send to a remote machine, to minimize latency. A "furthest" destination refresh method suffix always prefers to send to a service on a remote machine, for fault-tolerance. A "random" destination refresh method suffix always selects a service randomly, to load-balance the requests among both local and remote service instances, A "local" destination refresh method will only send to local service instances, for minimal latency. A "remote" destination refresh method will only send to remote service instances, to always provide a fault-tolerance guarantee.

The InitializationTimeout timeout specifies how long an internal service can spend in its cloudi_service_init/3 function or how long an external service may take to instantiate the CloudI API data structure (for all of the configured threads). The DefaultAsynchronousTimeout and the DefaultSynchronousTimeout provide timeouts for any service function calls that do not specify a timeout. The DestinationDenyList and the DestinationAllowList both accept an Access Control List (ACL) which explicitly denies or allows sending service messages to destinations that match based on the service name prefix. Both parameters may be either "undefined" or a list of service name prefixes (the service name prefixes may also be supplied as aliases defined in the ACL configuration).

The ProcessCount for an internal service determines how many services with the configuration will run as Erlang processes. The ProcessCount for an external service determines how many Operating System processes will be created with the configuration information. The ThreadCount determines how many external service threads will be expected to create CloudI API objects (i.e., to become initialized). The MaxR and MaxT are parameters to manage the fault-tolerance of the service in the same way as an Erlang OTP Supervisor manages Erlang processes. The MaxR parameters is the number of restarts. The MaxT parameter is the amount of time in seconds the restarts must occur in, for the service to be considered failed.

Access Control List (ACL):

{acl, [{alias1, ["/service/name/prefix1", "/service/name/prefix2", alias2]}]}

The DestinationDenyList and DestinationAllowList are both lists that explicitly deny or allow sending messages from a service (respectively). The ACL configuration provides a simple way to condense service configuration based on common service name prefixes. The ACL atoms provide short aliases for the literal service name prefixes and may be used to define other ACLs (in a way that is both acyclic and unordered).

The strings used are typically common service name prefixes, but can also be patterns with "*" where "**" is forbidden, similar to service subscriptions.

nodes:

{nodes, [cloudi@hostname1, cloudi@hostname2]} {nodes, automatic} {nodes, Options}

Remote CloudI nodes that are started separately (CloudI operates as a master-less system). Instead of providing the exact node names within a list, you can also provide "automatic" to let nodefinder do automatic node discovery.

logging/1

logging(Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> cloudi_service_api:logging_proplist()

Provide the current logging configuration.

logging_formatters_set/2

logging_formatters_set(Value::cloudi_service_api:logging_formatters_set_proplist(), Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_logging_formatters_set()}

Set the CloudI log formatters.

logging_level_highest/1

logging_level_highest(Levels::[cloudi_service_api:loglevel() | undefined]) -> cloudi_service_api:loglevel() | undefined

Determine the highest logging level in the list.

logging_set/2

logging_set(Value::cloudi_service_api:logging_proplist(), Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_logging_set()}

Set CloudI logging configuration.

logging_syslog_set/2

logging_syslog_set(Value::cloudi_service_api:logging_syslog_set_proplist(), Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_logging_syslog_set()}

Set CloudI syslog configuration.

nodes_add/2

nodes_add(Value::[node()], Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_nodes_add()}

Add CloudI nodes.

nodes_get/1

nodes_get(Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> cloudi_service_api:nodes_proplist()

Get CloudI nodes configuration.

nodes_remove/2

nodes_remove(Value::[node()], Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_nodes_remove()}

Remove CloudI nodes.

nodes_set/2

nodes_set(Value::cloudi_service_api:nodes_proplist(), Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_nodes_set()}

Set CloudI nodes configuration.

service_format/1

service_format(Config_service_internal::#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}) -> {cloudi_service_api:service_id(), #internal{}} | {cloudi_service_api:service_id(), #external{}}

Provide the configuration format, as it was provided.

Using the tuple format. If necessary, the proplist format could be added based on a separate function option parameter.

service_options_copy/3

service_options_copy(OptionsKeys::[atom()], OldOptions0::#config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, NewOptions::#config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}) -> #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}

Copy specific fields from validated service configuration options.

services/1

services(Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> [{cloudi_service_api:service_id(), #internal{}} | {cloudi_service_api:service_id(), #external{}}]

Display the currently running services (including their UUID).

services_add/3

services_add(Value::[#internal{} | #external{} | cloudi_service_api:service_proplist(), ...], Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}, Timeout::cloudi_service_api:timeout_milliseconds() | infinity) -> {ok, [cloudi_service_api:service_id()], #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_services_add()}

Add services based on the configuration format.

services_format_options_external/1

services_format_options_external(Options::#config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}) -> cloudi_service_api:service_options_external()

Provide the external service configuration options in the configuration format with defaults ignored.

services_format_options_internal/1

services_format_options_internal(Options::#config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}) -> cloudi_service_api:service_options_internal()

Provide the internal service configuration options in the configuration format with defaults ignored.

services_remove/3

services_remove(Value::[cloudi_service_api:service_id(), ...], Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}, Timeout::cloudi_service_api:timeout_milliseconds() | infinity) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_services_remove()}

Remove services based on their UUID.

services_restart/3

services_restart(Value::[cloudi_service_api:service_id(), ...], Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}, Timeout::cloudi_service_api:timeout_milliseconds() | infinity) -> {ok, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_services_restart()}

Restart services based on their UUID.

services_search/2

services_search(Value::[cloudi_service_api:service_id()], Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}) -> [{cloudi_service_api:service_id(), #internal{}} | {cloudi_service_api:service_id(), #external{}}]

Search services based on their UUID.

services_update/3

services_update(Plan::list(), Config::#config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}, Timeout::cloudi_service_api:timeout_milliseconds() | infinity) -> {ok, {ok, [[cloudi_service_api:service_id(), ...], ...]} | {error, {[cloudi_service_api:service_id(), ...], cloudi_core_i_configurator:error_reason_service_update()}, [[cloudi_service_api:service_id(), ...], ...]}, #config{uuid_generator = uuid:state(), logging = #config_logging{file = undefined | string(), level = undefined | cloudi_service_api:loglevel(), redirect = undefined | node(), syslog = undefined | #config_logging_syslog{identity = string(), facility = syslog:facility(), level = cloudi_service_api:loglevel()}, formatters = undefined | #config_logging_formatters{default = undefined | #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}, lookup = keys1value:keys1value(module(), #config_logging_formatter{level = cloudi_service_api:loglevel(), output = undefined | module(), output_name = atom(), output_args = list(), output_max_r = non_neg_integer(), output_max_t = cloudi_service_api:seconds(), formatter = undefined | module(), formatter_config = list()}), level = undefined | cloudi_service_api:loglevel()}, aspects_log_before = [cloudi_service_api:aspect_log_before()], aspects_log_after = [cloudi_service_api:aspect_log_after()]}, acl = any(), services = [#config_service_internal{prefix = string(), module = atom() | file:filename(), file_path = undefined | file:filename(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()} | #config_service_external{prefix = string(), file_path = file:filename(), args = string(), env = [{string(), string()}], dest_refresh = cloudi_service_api:dest_refresh(), protocol = local | tcp | udp, buffer_size = pos_integer(), timeout_init = cloudi_service_api:timeout_milliseconds(), timeout_async = cloudi_service_api:timeout_milliseconds(), timeout_sync = cloudi_service_api:timeout_milliseconds(), timeout_term = cloudi_service_api:timeout_milliseconds(), dest_list_deny = cloudi_service_api:dest_list(), dest_list_allow = cloudi_service_api:dest_list(), count_process = pos_integer(), count_thread = pos_integer(), max_r = non_neg_integer(), max_t = cloudi_service_api:seconds(), options = #config_service_options{priority_default = cloudi_service:priority(), queue_limit = undefined | non_neg_integer(), queue_size = undefined | pos_integer(), rate_request_max = undefined | number() | [{period, cloudi_service_api:period_seconds()} | {value, number()}] | tuple(), dest_refresh_start = cloudi_service_api:dest_refresh_delay_milliseconds(), dest_refresh_delay = cloudi_service_api:dest_refresh_delay_milliseconds(), request_name_lookup = sync | async, request_timeout_adjustment = boolean(), request_timeout_immediate_max = cloudi_service_api:request_timeout_immediate_max_milliseconds(), response_timeout_adjustment = boolean(), response_timeout_immediate_max = cloudi_service_api:response_timeout_immediate_max_milliseconds(), count_process_dynamic = false | [{period, cloudi_service_api:period_seconds()} | {rate_request_max, number()} | {rate_request_min, number()} | {count_max, number()} | {count_min, number()}] | tuple(), timeout_terminate = undefined | cloudi_service_api:timeout_terminate_milliseconds(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_time_milliseconds()} | {time_gaussian_stddev, float()} | {time_absolute, cloudi_service_api:latency_time_milliseconds()}] | system | false | tuple(), monkey_chaos = [{probability_request, float()} | {probability_day, float()}] | system | false | tuple(), automatic_loading = boolean(), dispatcher_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], aspects_init_after = [cloudi_service_api:aspect_init_after_internal() | cloudi_service_api:aspect_init_after_external()], aspects_request_before = [cloudi_service_api:aspect_request_before_internal() | cloudi_service_api:aspect_request_before_external()], aspects_request_after = [cloudi_service_api:aspect_request_after_internal() | cloudi_service_api:aspect_request_after_external()], aspects_info_before = [cloudi_service_api:aspect_info_before_internal()], aspects_info_after = [cloudi_service_api:aspect_info_after_internal()], aspects_terminate_before = [cloudi_service_api:aspect_terminate_before_internal() | cloudi_service_api:aspect_terminate_before_external()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), directory = cloudi_service_api:directory_external(), application_name = atom(), init_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], request_pid_uses = infinity | pos_integer(), request_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], info_pid_uses = infinity | pos_integer(), info_pid_options = [link | {priority, low | normal | high} | {fullsweep_after, non_neg_integer()} | {min_heap_size, non_neg_integer()} | {min_bin_vheap_size, non_neg_integer()} | {max_heap_size, non_neg_integer() | #{}} | {sensitive, boolean()} | {message_queue_data, off_heap | on_heap | mixed}], duo_mode = boolean(), hibernate = boolean() | [{period, cloudi_service_api:period_seconds()} | {rate_request_min, number()}] | tuple(), reload = boolean()}, uuid = cloudi_service_api:service_id()}], nodes = #config_nodes{nodes = [node()], reconnect_start = cloudi_service_api:node_reconnect_delay_seconds(), reconnect_delay = cloudi_service_api:node_reconnect_delay_seconds(), listen = visible | all, connect = visible | hidden, timestamp_type = erlang | os | warp, discovery = #config_nodes_discovery{mode = multicast | ec2, module = module(), start_f = atom(), start_a = list(), discover_f = atom(), discover_a = list(), stop_f = atom(), stop_a = list()} | undefined}}} | {error, error_reason_services_update()}

Update services after checking their UUID.


Generated by EDoc, Oct 7 2016, 12:03:16.