ARI: Add support for push configuration of dynamic object
authorMatt Jordan <mjordan@digium.com>
Wed, 8 Jul 2015 21:39:35 +0000 (16:39 -0500)
committerMatt Jordan <mjordan@digium.com>
Fri, 17 Jul 2015 01:38:57 +0000 (20:38 -0500)
commit254d07b15b6f6a741c1293cf9d26a2a235e795ed
tree0a1d7d9e98f5bd166fd74f575ea6d46c8ddf2b53
parentaf9ee2910d4f791243fa9c6ef98dd53264acc445
ARI: Add support for push configuration of dynamic object

This patch adds support for push configuration of dynamic, i.e.,
sorcery, objects in Asterisk. It adds three new REST API calls to the
'asterisk' resource:
 * GET /asterisk/{configClass}/{objectType}/{id}: retrieve the current
   object given its ID. This returns back a list of ConfigTuples, which
   define the fields and their present values that make up the object.
 * PUT /asterisk/{configClass}/{objectType}/{id}: create or update an
   object. A body may be passed with the request that contains fields to
   populate in the object. The same format as what is retrieved using
   the GET operation is used for the body, save that we specify that the
   list of fields to update are contained in the "fields" attribute.
 * DELETE /asterisk/{configClass}/{objectType}/{id}: remove a dynamic
   object from its backing storage.

Note that the success/failure of these operations is somewhat
configuration dependent, i.e., you must be using a sorcery wizard that
supports the operation in question. If a sorcery wizard does not support
the create or delete mechanisms, then the REST API call will fail with a
403 forbidden.

ASTERISK-25238 #close

Change-Id: I28cd5c7bf6f67f8e9e437ff097f8fd171d30ff5c
CHANGES
res/ari/ari_model_validators.c
res/ari/ari_model_validators.h
res/ari/resource_asterisk.c
res/ari/resource_asterisk.h
res/res_ari_asterisk.c
rest-api/api-docs/asterisk.json