Merge pull request #6204 from Icinga/fix/api-create-object-exists-errors

API: Check if objects exists and return proper error message
This commit is contained in:
Noah Hilverling 2018-04-06 12:47:31 +02:00 committed by GitHub
commit 24752f3733
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 0 deletions

View 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); String path = GetObjectConfigPath(type, fullName);
Utility::MkDirP(Utility::DirName(path), 0700); Utility::MkDirP(Utility::DirName(path), 0700);