@Override
public Response add(Host host) {
validateParameters(host, "name", "address");
VdsStatic staticHost = getMapper(Host.class, VdsStatic.class).map(host, null);
staticHost.setClusterId(getClusterId(host));
BackendExternalProviderHelper.completeExternalNetworkProviderConfigurations(this,
host.getExternalNetworkProviderConfigurations());
AddVdsActionParameters addParams = new AddVdsActionParameters(staticHost, host.getRootPassword());
if (host.isSetOverrideIptables()) {
addParams.setOverrideFirewall(host.isOverrideIptables());
}
addParams.setHostedEngineDeployConfiguration(HostResourceParametersUtil.getHostedEngineDeployConfiguration(this));
addParams = (AddVdsActionParameters) getMapper
(Host.class, VdsOperationActionParameters.class).map(host, addParams);
boolean activate = ParametersHelper.getBooleanParameter(httpHeaders, uriInfo, ACTIVATE, true, true);
addParams.setActivateHost(activate);
return performCreate(ActionType.AddVds,
addParams,
new QueryIdResolver<Guid>(QueryType.GetVdsByVdsId, IdQueryParameters.class));
}