ARI: Rotate log channels.
[asterisk/asterisk.git] / res / ari / resource_asterisk.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2012 - 2013, Digium, Inc.
5  *
6  * David M. Lee, II <dlee@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*! \file
20  *
21  * \brief Generated file - declares stubs to be implemented in
22  * res/ari/resource_asterisk.c
23  *
24  * Asterisk resources
25  *
26  * \author David M. Lee, II <dlee@digium.com>
27  */
28
29 /*
30  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
31  * !!!!!                               DO NOT EDIT                        !!!!!
32  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
33  * This file is generated by a mustache template. Please see the original
34  * template in rest-api-templates/ari_resource.h.mustache
35  */
36
37 #ifndef _ASTERISK_RESOURCE_ASTERISK_H
38 #define _ASTERISK_RESOURCE_ASTERISK_H
39
40 #include "asterisk/ari.h"
41
42 /*! Argument struct for ast_ari_asterisk_get_object() */
43 struct ast_ari_asterisk_get_object_args {
44         /*! The configuration class containing dynamic configuration objects. */
45         const char *config_class;
46         /*! The type of configuration object to retrieve. */
47         const char *object_type;
48         /*! The unique identifier of the object to retrieve. */
49         const char *id;
50 };
51 /*!
52  * \brief Retrieve a dynamic configuration object.
53  *
54  * \param headers HTTP headers
55  * \param args Swagger parameters
56  * \param[out] response HTTP response
57  */
58 void ast_ari_asterisk_get_object(struct ast_variable *headers, struct ast_ari_asterisk_get_object_args *args, struct ast_ari_response *response);
59 /*! Argument struct for ast_ari_asterisk_update_object() */
60 struct ast_ari_asterisk_update_object_args {
61         /*! The configuration class containing dynamic configuration objects. */
62         const char *config_class;
63         /*! The type of configuration object to create or update. */
64         const char *object_type;
65         /*! The unique identifier of the object to create or update. */
66         const char *id;
67         /*! The body object should have a value that is a list of ConfigTuples, which provide the fields to update. Ex. [ { "attribute": "directmedia", "value": "false" } ] */
68         struct ast_json *fields;
69 };
70 /*!
71  * \brief Body parsing function for /asterisk/config/dynamic/{configClass}/{objectType}/{id}.
72  * \param body The JSON body from which to parse parameters.
73  * \param[out] args The args structure to parse into.
74  * \retval zero on success
75  * \retval non-zero on failure
76  */
77 int ast_ari_asterisk_update_object_parse_body(
78         struct ast_json *body,
79         struct ast_ari_asterisk_update_object_args *args);
80
81 /*!
82  * \brief Create or update a dynamic configuration object.
83  *
84  * \param headers HTTP headers
85  * \param args Swagger parameters
86  * \param[out] response HTTP response
87  */
88 void ast_ari_asterisk_update_object(struct ast_variable *headers, struct ast_ari_asterisk_update_object_args *args, struct ast_ari_response *response);
89 /*! Argument struct for ast_ari_asterisk_delete_object() */
90 struct ast_ari_asterisk_delete_object_args {
91         /*! The configuration class containing dynamic configuration objects. */
92         const char *config_class;
93         /*! The type of configuration object to delete. */
94         const char *object_type;
95         /*! The unique identifier of the object to delete. */
96         const char *id;
97 };
98 /*!
99  * \brief Delete a dynamic configuration object.
100  *
101  * \param headers HTTP headers
102  * \param args Swagger parameters
103  * \param[out] response HTTP response
104  */
105 void ast_ari_asterisk_delete_object(struct ast_variable *headers, struct ast_ari_asterisk_delete_object_args *args, struct ast_ari_response *response);
106 /*! Argument struct for ast_ari_asterisk_get_info() */
107 struct ast_ari_asterisk_get_info_args {
108         /*! Array of Filter information returned */
109         const char **only;
110         /*! Length of only array. */
111         size_t only_count;
112         /*! Parsing context for only. */
113         char *only_parse;
114 };
115 /*!
116  * \brief Body parsing function for /asterisk/info.
117  * \param body The JSON body from which to parse parameters.
118  * \param[out] args The args structure to parse into.
119  * \retval zero on success
120  * \retval non-zero on failure
121  */
122 int ast_ari_asterisk_get_info_parse_body(
123         struct ast_json *body,
124         struct ast_ari_asterisk_get_info_args *args);
125
126 /*!
127  * \brief Gets Asterisk system information.
128  *
129  * \param headers HTTP headers
130  * \param args Swagger parameters
131  * \param[out] response HTTP response
132  */
133 void ast_ari_asterisk_get_info(struct ast_variable *headers, struct ast_ari_asterisk_get_info_args *args, struct ast_ari_response *response);
134 /*! Argument struct for ast_ari_asterisk_list_modules() */
135 struct ast_ari_asterisk_list_modules_args {
136 };
137 /*!
138  * \brief List Asterisk modules.
139  *
140  * \param headers HTTP headers
141  * \param args Swagger parameters
142  * \param[out] response HTTP response
143  */
144 void ast_ari_asterisk_list_modules(struct ast_variable *headers, struct ast_ari_asterisk_list_modules_args *args, struct ast_ari_response *response);
145 /*! Argument struct for ast_ari_asterisk_get_module() */
146 struct ast_ari_asterisk_get_module_args {
147         /*! Module's name */
148         const char *module_name;
149 };
150 /*!
151  * \brief Get Asterisk module information.
152  *
153  * \param headers HTTP headers
154  * \param args Swagger parameters
155  * \param[out] response HTTP response
156  */
157 void ast_ari_asterisk_get_module(struct ast_variable *headers, struct ast_ari_asterisk_get_module_args *args, struct ast_ari_response *response);
158 /*! Argument struct for ast_ari_asterisk_load_module() */
159 struct ast_ari_asterisk_load_module_args {
160         /*! Module's name */
161         const char *module_name;
162 };
163 /*!
164  * \brief Load an Asterisk module.
165  *
166  * \param headers HTTP headers
167  * \param args Swagger parameters
168  * \param[out] response HTTP response
169  */
170 void ast_ari_asterisk_load_module(struct ast_variable *headers, struct ast_ari_asterisk_load_module_args *args, struct ast_ari_response *response);
171 /*! Argument struct for ast_ari_asterisk_unload_module() */
172 struct ast_ari_asterisk_unload_module_args {
173         /*! Module's name */
174         const char *module_name;
175 };
176 /*!
177  * \brief Unload an Asterisk module.
178  *
179  * \param headers HTTP headers
180  * \param args Swagger parameters
181  * \param[out] response HTTP response
182  */
183 void ast_ari_asterisk_unload_module(struct ast_variable *headers, struct ast_ari_asterisk_unload_module_args *args, struct ast_ari_response *response);
184 /*! Argument struct for ast_ari_asterisk_reload_module() */
185 struct ast_ari_asterisk_reload_module_args {
186         /*! Module's name */
187         const char *module_name;
188 };
189 /*!
190  * \brief Reload an Asterisk module.
191  *
192  * \param headers HTTP headers
193  * \param args Swagger parameters
194  * \param[out] response HTTP response
195  */
196 void ast_ari_asterisk_reload_module(struct ast_variable *headers, struct ast_ari_asterisk_reload_module_args *args, struct ast_ari_response *response);
197 /*! Argument struct for ast_ari_asterisk_rotate_log() */
198 struct ast_ari_asterisk_rotate_log_args {
199         /*! Log channel's name */
200         const char *log_channel_name;
201 };
202 /*!
203  * \brief Rotates a log channel.
204  *
205  * \param headers HTTP headers
206  * \param args Swagger parameters
207  * \param[out] response HTTP response
208  */
209 void ast_ari_asterisk_rotate_log(struct ast_variable *headers, struct ast_ari_asterisk_rotate_log_args *args, struct ast_ari_response *response);
210 /*! Argument struct for ast_ari_asterisk_get_global_var() */
211 struct ast_ari_asterisk_get_global_var_args {
212         /*! The variable to get */
213         const char *variable;
214 };
215 /*!
216  * \brief Body parsing function for /asterisk/variable.
217  * \param body The JSON body from which to parse parameters.
218  * \param[out] args The args structure to parse into.
219  * \retval zero on success
220  * \retval non-zero on failure
221  */
222 int ast_ari_asterisk_get_global_var_parse_body(
223         struct ast_json *body,
224         struct ast_ari_asterisk_get_global_var_args *args);
225
226 /*!
227  * \brief Get the value of a global variable.
228  *
229  * \param headers HTTP headers
230  * \param args Swagger parameters
231  * \param[out] response HTTP response
232  */
233 void ast_ari_asterisk_get_global_var(struct ast_variable *headers, struct ast_ari_asterisk_get_global_var_args *args, struct ast_ari_response *response);
234 /*! Argument struct for ast_ari_asterisk_set_global_var() */
235 struct ast_ari_asterisk_set_global_var_args {
236         /*! The variable to set */
237         const char *variable;
238         /*! The value to set the variable to */
239         const char *value;
240 };
241 /*!
242  * \brief Body parsing function for /asterisk/variable.
243  * \param body The JSON body from which to parse parameters.
244  * \param[out] args The args structure to parse into.
245  * \retval zero on success
246  * \retval non-zero on failure
247  */
248 int ast_ari_asterisk_set_global_var_parse_body(
249         struct ast_json *body,
250         struct ast_ari_asterisk_set_global_var_args *args);
251
252 /*!
253  * \brief Set the value of a global variable.
254  *
255  * \param headers HTTP headers
256  * \param args Swagger parameters
257  * \param[out] response HTTP response
258  */
259 void ast_ari_asterisk_set_global_var(struct ast_variable *headers, struct ast_ari_asterisk_set_global_var_args *args, struct ast_ari_response *response);
260
261 #endif /* _ASTERISK_RESOURCE_ASTERISK_H */