tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("cr", Serialize(cr));
CheckResult::Ptr cr = Deserialize(crv, true);
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("next_check", nextCheck);
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("forced", forced);
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("forced", forced);
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("enabled", enabled);
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("enabled", enabled);
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("enabled", enabled);
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("enabled", enabled);
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("comment", Serialize(comment));
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("id", comment->GetId());
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("downtime", Serialize(downtime));
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("id", downtime->GetId());
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
params->Set("author", author);
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
tie(host, service) = GetHostService(checkable);
Dictionary::Ptr params = make_shared<Dictionary>();
- params->Set("host", GetVirtualHostName(host));
+ params->Set("host", host->GetName());
if (service)
params->Set("service", service->GetShortName());
if (!params)
return Empty;
- Host::Ptr host = FindHostByVirtualName(params->Get("host"));
+ Host::Ptr host = FindHostByVirtualName(params->Get("host"), origin);
if (!host)
return Empty;
services->Add(service->GetShortName());
}
- repository->Set(GetVirtualHostName(host), services);
+ repository->Set(host->GetName(), services);
}
Endpoint::Ptr my_endpoint = Endpoint::GetLocalEndpoint();
if (!params)
return Empty;
+ Value vrepository = params->Get("repository");
+ if (vrepository.IsEmpty() || !vrepository.IsObjectType<Dictionary>())
+ return Empty;
+
+ Dictionary::Ptr repository = vrepository;
+ Value hostInfo = repository->Get("localhost");
+
+ if (!hostInfo.IsEmpty() && origin.FromZone) {
+ repository->Remove("localhost");
+ repository->Set(origin.FromZone->GetName(), hostInfo);
+ }
+
String repositoryFile = GetRepositoryDir() + SHA256(params->Get("endpoint"));
String repositoryTempFile = repositoryFile + ".tmp";
return Empty;
}
-String ApiEvents::GetVirtualHostName(const Host::Ptr& host)
-{
- String host_name = host->GetName();
- if (host_name == "localhost") {
- Endpoint::Ptr local = Endpoint::GetLocalEndpoint();
-
- if (!local)
- return Empty;
-
- host_name = local->GetName();
- }
-
- return host_name;
-}
-
-Host::Ptr ApiEvents::FindHostByVirtualName(const String& hostName)
+Host::Ptr ApiEvents::FindHostByVirtualName(const String& hostName, const MessageOrigin& origin)
{
- Endpoint::Ptr local = Endpoint::GetLocalEndpoint();
-
- if (!local)
- return Host::Ptr();
-
- if (hostName == local->GetName())
- return Host::GetByName("localhost");
+ if (origin.FromZone && hostName == "localhost")
+ return Host::GetByName(origin.FromZone->GetName());
else
return Host::GetByName(hostName);
}