Module cloudi_core_i_configurator

CloudI Configurator

Use the configuration information to start CloudI processes.

Copyright © 2011-2020 Michael Truog

Version: 2.0.1 May 26 2021 19:42:48 ------------------------------------------------------------------------

Behaviours: gen_server.

Authors: Michael Truog (mjtruog at protonmail dot com).

Description

CloudI Configurator

Use the configuration information to start CloudI processes.

Data Types

error_reason_code_status()

error_reason_code_status() = {file, {cloudi_service_api:file_path(), file:posix() | badarg}}

error_reason_nodes_set()

error_reason_nodes_set() = {set_invalid, any()}

error_reason_service_restart()

error_reason_service_restart() = {service_internal_restart_failed | service_external_restart_failed, any()}

error_reason_service_resume()

error_reason_service_resume() = {service_internal_resume_failed | service_external_resume_failed, any()}

error_reason_service_start()

error_reason_service_start() = {service_internal_module_invalid | service_internal_module_not_loaded | service_internal_module_not_found | service_internal_module_compile | service_internal_application_invalid | service_internal_release_not_found | service_internal_release_invalid | service_internal_file_extension_invalid | service_internal_file_path_invalid | service_options_application_name_not_found, any()} | {service_internal_start_failed, cloudi_core_i_spawn:error_reason_start_internal() | any()} | {service_external_start_failed, cloudi_core_i_spawn:error_reason_start_external() | any()}

error_reason_service_stop()

error_reason_service_stop() = {service_internal_module_not_found | service_internal_application_not_found | service_internal_release_not_found | service_internal_stop_failed | service_external_stop_failed, any()}

error_reason_service_suspend()

error_reason_service_suspend() = {service_internal_suspend_failed | service_external_suspend_failed, any()}

error_reason_service_update()

error_reason_service_update() = {service_internal_update_failed | service_external_update_failed, any()}

error_reason_services_search()

error_reason_services_search() = service_scope_invalid

Function Index

acl/1
acl_add/2
acl_remove/2
code_change/3
code_path/1
code_path_add/2
code_path_remove/2
code_status/3
configure/0
handle_call/3
handle_cast/2
handle_info/2
init/1
logging/1
logging_file_set/2
logging_formatters_set/2
logging_level_set/2
logging_redirect_set/2
logging_set/2
logging_stdout_set/2
logging_syslog_set/2
nodes_add/2
nodes_get/1
nodes_remove/2
nodes_set/2
service_ids/1
service_process_init_end/1
service_restart/2
service_resume/2
service_start/2
service_stop/3
service_subscriptions/2
service_suspend/2
service_terminated/1
service_update/2
service_update_external/5
services/1
services_add/2
services_remove/2
services_restart/2
services_resume/2
services_search/3
services_suspend/2
services_update/2
start_link/2
terminate/2

Function Details

acl/1

acl(Timeout) -> any()

acl_add/2

acl_add(L, Timeout) -> any()

acl_remove/2

acl_remove(L, Timeout) -> any()

code_change/3

code_change(X1, State, X3) -> any()

code_path/1

code_path(Timeout) -> any()

code_path_add/2

code_path_add(Path, Timeout) -> any()

code_path_remove/2

code_path_remove(Path, Timeout) -> any()

code_status/3

code_status(TimeNative, TimeOffset, Timeout) -> any()

configure/0

configure() -> any()

handle_call/3

handle_call(Request, X2, State) -> any()

handle_cast/2

handle_cast(Request, State) -> any()

handle_info/2

handle_info(Request, State) -> any()

init/1

init(X1) -> any()

logging/1

logging(Timeout) -> any()

logging_file_set/2

logging_file_set(FilePath, Timeout) -> any()

logging_formatters_set/2

logging_formatters_set(L, Timeout) -> any()

logging_level_set/2

logging_level_set(Level, Timeout) -> any()

logging_redirect_set/2

logging_redirect_set(L, Timeout) -> any()

logging_set/2

logging_set(L, Timeout) -> any()

logging_stdout_set/2

logging_stdout_set(Stdout, Timeout) -> any()

logging_syslog_set/2

logging_syslog_set(L, Timeout) -> any()

nodes_add/2

nodes_add(L, Timeout) -> any()

nodes_get/1

nodes_get(Timeout) -> any()

nodes_remove/2

nodes_remove(L, Timeout) -> any()

nodes_set/2

nodes_set(L, Timeout) -> any()

service_ids/1

service_ids(Timeout) -> any()

service_process_init_end/1

service_process_init_end(Pid) -> any()

service_restart/2

service_restart(Config_service_internal::#config_service_internal{prefix = string(), module = atom() | cloudi_service_api:file_path(), file_path = undefined | cloudi_service_api:file_path(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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 = cloudi_service_api:file_path(), 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_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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()}, Timeout::pos_integer() | infinity) -> ok | {error, error_reason_service_restart()}

service_resume/2

service_resume(Config_service_internal::#config_service_internal{prefix = string(), module = atom() | cloudi_service_api:file_path(), file_path = undefined | cloudi_service_api:file_path(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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 = cloudi_service_api:file_path(), 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_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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()}, Timeout::pos_integer() | infinity) -> ok | {error, error_reason_service_resume()}

service_start/2

service_start(Config_service_internal::#config_service_internal{prefix = string(), module = atom() | cloudi_service_api:file_path(), file_path = undefined | cloudi_service_api:file_path(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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 = cloudi_service_api:file_path(), 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_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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()}, Timeout::pos_integer() | infinity) -> {ok, #config_service_internal{prefix = string(), module = atom() | cloudi_service_api:file_path(), file_path = undefined | cloudi_service_api:file_path(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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 = cloudi_service_api:file_path(), 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_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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()}} | {error, error_reason_service_start()}

service_stop/3

service_stop(Config_service_internal::#config_service_internal{prefix = string(), module = atom() | cloudi_service_api:file_path(), file_path = undefined | cloudi_service_api:file_path(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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 = cloudi_service_api:file_path(), 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_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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()}, Remove::boolean(), Timeout::pos_integer() | infinity) -> ok | {error, error_reason_service_stop()}

service_subscriptions/2

service_subscriptions(ServiceId, Timeout) -> any()

service_suspend/2

service_suspend(Config_service_internal::#config_service_internal{prefix = string(), module = atom() | cloudi_service_api:file_path(), file_path = undefined | cloudi_service_api:file_path(), args = list(), dest_refresh = cloudi_service_api:dest_refresh(), timeout_init = cloudi_service_api:timeout_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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 = cloudi_service_api:file_path(), 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_initialize_value_milliseconds(), timeout_async = cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = cloudi_service_api:timeout_send_sync_value_milliseconds(), timeout_term = cloudi_service_api:timeout_terminate_value_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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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()}, Timeout::pos_integer() | infinity) -> ok | {error, error_reason_service_suspend()}

service_terminated/1

service_terminated(ID::binary()) -> ok

service_update/2

service_update(Config_service_update::#config_service_update{type = undefined | internal | external, module = atom(), module_state = undefined | fun((ModuleVersonOld::cloudi_service_api:module_version(), ModuleVersonNew::cloudi_service_api:module_version(), StateOld::any()) -> {ok, StateNew::any()} | {error, Reason::any()} | any()), file_path = undefined | cloudi_service_api:file_path(), args = undefined | string(), env = undefined | [{string(), string()}], sync = boolean(), modules_load = [atom()], modules_unload = [atom()], code_paths_add = [string()], code_paths_remove = [string()], dest_refresh = undefined | cloudi_service_api:dest_refresh(), timeout_init = undefined | cloudi_service_api:timeout_initialize_value_milliseconds(), timeout_async = undefined | cloudi_service_api:timeout_send_async_value_milliseconds(), timeout_sync = undefined | cloudi_service_api:timeout_send_sync_value_milliseconds(), dest_list_deny = invalid | cloudi_service_api:dest_list(), dest_list_allow = invalid | cloudi_service_api:dest_list(), options_keys = [atom()], 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(), restart_all = boolean(), restart_delay = [{time_exponential_min, cloudi_service_api:restart_delay_milliseconds()} | {time_exponential_max, cloudi_service_api:restart_delay_milliseconds()} | {time_absolute, cloudi_service_api:restart_delay_milliseconds()}] | false | tuple(), scope = atom(), monkey_latency = [{time_uniform_min, cloudi_service_api:latency_min_time_milliseconds()} | {time_uniform_max, cloudi_service_api:latency_max_time_milliseconds()} | {time_gaussian_mean, cloudi_service_api:latency_mean_time_milliseconds()} | {time_gaussian_stddev, float() | pos_integer()} | {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, cloudi_service_api:max_heap_size_options()} | {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()], aspects_suspend = [cloudi_service_api:aspect_suspend()], aspects_resume = [cloudi_service_api:aspect_resume()], limit = cloudi_service_api:limit_external(), owner = cloudi_service_api:owner_external(), nice = cloudi_service_api:nice_external(), cgroup = cloudi_service_api:cgroup_external(), chroot = cloudi_service_api:chroot_external(), syscall_lock = cloudi_service_api:syscall_lock_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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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, cloudi_service_api:max_heap_size_options()} | {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()}, uuids = [cloudi_service_api:service_id()], module_version_old = undefined | cloudi_service_api:module_version(), reload_stop = boolean(), spawn_os_process = boolean(), update_pending = undefined | pid(), update_now = undefined | pid(), update_start = boolean(), process_busy = undefined | boolean()}, Timeout::pos_integer() | infinity) -> {ok, [cloudi_service_api:service_id(), ...]} | {error, [cloudi_service_api:service_id(), ...], error_reason_service_update()}

service_update_external/5

service_update_external(Pids, Ports, Arguments, CountThread, CountProcess) -> any()

services/1

services(Timeout) -> any()

services_add/2

services_add(L, Timeout) -> any()

services_remove/2

services_remove(L, Timeout) -> any()

services_restart/2

services_restart(L, Timeout) -> any()

services_resume/2

services_resume(L, Timeout) -> any()

services_search/3

services_search(Scope, ServiceName, Timeout) -> any()

services_suspend/2

services_suspend(L, Timeout) -> any()

services_update/2

services_update(L, Timeout) -> any()

start_link/2

start_link(TerminateTimeout, Config) -> any()

terminate/2

terminate(Reason, State) -> any()


Generated by EDoc