bool RepositoryUtility::RemoveObjectInternal(const String& name, const String& type, const Dictionary::Ptr& attrs)
{
String path = GetRepositoryObjectConfigPath(type, attrs) + "/" + name + ".conf";
+
+ if (!Utility::PathExists(path)) {
+ Log(LogCritical, "cli")
+ << type << " '" << name << "' does not exist.";
+ return true;
+ }
+
bool success = RemoveObjectFileInternal(path);
/* special treatment for hosts -> remove the services too */
bool RepositoryUtility::SetObjectAttributeInternal(const String& name, const String& type, const String& key, const Value& val, const Dictionary::Ptr& attrs)
{
- //Fixme
+ //TODO
String path = GetRepositoryObjectConfigPath(type, attrs) + "/" + name + ".conf";
Dictionary::Ptr obj = GetObjectFromRepository(path); //TODO
BOOST_FOREACH(const Dictionary::Pair& kv, attrs) {
/* skip the name */
- if (kv.first == "name")
+ if (kv.first == "name" || kv.first == "__name")
continue;
fp << std::setw(4) << " " << ConsoleColorTag(Console_ForegroundGreen) << kv.first << ConsoleColorTag(Console_Normal) << " = ";