]> granicus.if.org Git - icinga2/commitdiff
API: Check if objects exists and return proper error message 6204/head
authorMichael Friedrich <michael.friedrich@icinga.com>
Fri, 6 Apr 2018 10:32:27 +0000 (12:32 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Fri, 6 Apr 2018 10:32:27 +0000 (12:32 +0200)
lib/remote/configobjectutility.cpp

index 38fda3824f95b66c04cb4a0f31555e45e9828274..b5026114a59edb28ec1b187e58cd4844fa721f1a 100644 (file)
@@ -110,6 +110,13 @@ bool ConfigObjectUtility::CreateObject(const Type::Ptr& type, const String& full
                }
        }
 
+       ConfigItem::Ptr item = ConfigItem::GetByTypeAndName(type, fullName);
+
+       if (item) {
+               errors->Add("Object '" + fullName + "' already exists.");
+               return false;
+       }
+
        String path = GetObjectConfigPath(type, fullName);
        Utility::MkDirP(Utility::DirName(path), 0700);