mirror of https://github.com/Icinga/icinga2.git
API: Set zone attribute for local zone if not specified
This allows to sync the object to other nodes in the same zone on reconnect. refs #11684
This commit is contained in:
parent
5dd4898eb3
commit
72bf538c29
|
@ -22,6 +22,7 @@
|
||||||
#include "remote/httputility.hpp"
|
#include "remote/httputility.hpp"
|
||||||
#include "remote/filterutility.hpp"
|
#include "remote/filterutility.hpp"
|
||||||
#include "remote/apiaction.hpp"
|
#include "remote/apiaction.hpp"
|
||||||
|
#include "remote/zone.hpp"
|
||||||
#include "base/configtype.hpp"
|
#include "base/configtype.hpp"
|
||||||
#include <boost/algorithm/string.hpp>
|
#include <boost/algorithm/string.hpp>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
@ -51,6 +52,18 @@ bool CreateObjectHandler::HandleRequest(const ApiUser::Ptr& user, HttpRequest& r
|
||||||
Array::Ptr templates = params->Get("templates");
|
Array::Ptr templates = params->Get("templates");
|
||||||
Dictionary::Ptr attrs = params->Get("attrs");
|
Dictionary::Ptr attrs = params->Get("attrs");
|
||||||
|
|
||||||
|
/* Put created objects into the local zone if not explicitely defined.
|
||||||
|
* This allows additional zone members to sync the
|
||||||
|
* configuration at some later point.
|
||||||
|
*/
|
||||||
|
Zone::Ptr localZone = Zone::GetLocalZone();
|
||||||
|
String localZoneName;
|
||||||
|
|
||||||
|
if (localZone && !attrs->Contains("zone")) {
|
||||||
|
localZoneName = localZone->GetName();
|
||||||
|
attrs->Set("zone", localZoneName);
|
||||||
|
}
|
||||||
|
|
||||||
Dictionary::Ptr result1 = new Dictionary();
|
Dictionary::Ptr result1 = new Dictionary();
|
||||||
String status;
|
String status;
|
||||||
Array::Ptr errors = new Array();
|
Array::Ptr errors = new Array();
|
||||||
|
|
Loading…
Reference in New Issue