Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

This branch is 39 commits behind develop

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
python
Makefile.am
README.markdown

README.markdown

CloudI Service API

PURPOSE

Provide an interface for dynamically configuring CloudI.

INTEGRATION

API

Supported request formats:

  • JSON-RPC
  • Erlang term format
  • native Erlang function calls (cloudi_service_api module) within the same Erlang VM

CloudI allows you to call dynamic configuration functions from any CloudI process (assuming it is not blocked by an ACL). The default configuration initializes the CloudI service responsible for dynamic configuration which subscribes to service names based on the functions defined in the cloudi_service_api module:

  • "/cloudi/api/rpc.json"
  • "/cloudi/api/rpc/*.erl" (see below)
    • "/cloudi/api/rpc/acl_add.erl"
    • "/cloudi/api/rpc/acl_remove.erl"
    • "/cloudi/api/rpc/acl.erl"
    • "/cloudi/api/rpc/service_subscriptions.erl"
    • "/cloudi/api/rpc/services_add.erl"
    • "/cloudi/api/rpc/services_remove.erl"
    • "/cloudi/api/rpc/services_restart.erl"
    • "/cloudi/api/rpc/services_search.erl"
    • "/cloudi/api/rpc/services.erl"
    • "/cloudi/api/rpc/nodes_set.erl"
    • "/cloudi/api/rpc/nodes_get.erl"
    • "/cloudi/api/rpc/nodes_add.erl"
    • "/cloudi/api/rpc/nodes_remove.erl"
    • "/cloudi/api/rpc/nodes_alive.erl"
    • "/cloudi/api/rpc/nodes_dead.erl"
    • "/cloudi/api/rpc/nodes.erl"
    • "/cloudi/api/rpc/logging_file_set.erl"
    • "/cloudi/api/rpc/logging_level_set.erl"
    • "/cloudi/api/rpc/logging_syslog_set.erl"
    • "/cloudi/api/rpc/logging_formatters_set"
    • "/cloudi/api/rpc/logging_redirect_set.erl"
    • "/cloudi/api/rpc/logging.erl"
    • "/cloudi/api/rpc/code_path_add.erl"
    • "/cloudi/api/rpc/code_path_remove.erl"
    • "/cloudi/api/rpc/code_path.erl"

The default configuration expects HTTP requests to port 6464 with the proper service path and format (listed above) to call the CloudI service interface.

EXAMPLES

CloudI Service API integration example:

CloudI Service API usage examples:

  • Python (Turn logging off)
  • Python (Turn logging on)
  • Python (Add to the Erlang code search path)
  • Python (Add/Remove nodes, Add/Remove ACL entries, Start/Stop services)

Please see the CloudI Service API documentation for more details.

Something went wrong with that request. Please try again.