diff --git a/lib/remote/createobjecthandler.cpp b/lib/remote/createobjecthandler.cpp index bcb0b256c..97f993bbc 100644 --- a/lib/remote/createobjecthandler.cpp +++ b/lib/remote/createobjecthandler.cpp @@ -22,6 +22,7 @@ #include "remote/httputility.hpp" #include "remote/filterutility.hpp" #include "remote/apiaction.hpp" +#include "remote/zone.hpp" #include "base/configtype.hpp" #include #include @@ -51,6 +52,18 @@ bool CreateObjectHandler::HandleRequest(const ApiUser::Ptr& user, HttpRequest& r Array::Ptr templates = params->Get("templates"); 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(); String status; Array::Ptr errors = new Array();