/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.service.vipr.compute.tasks; import java.net.URI; import java.util.List; import com.emc.sa.service.vipr.tasks.ViPRExecutionTask; import com.emc.storageos.model.host.HostRestRep; import com.emc.storageos.model.host.ProvisionBareMetalHostsParam; import com.emc.vipr.client.Task; import com.emc.vipr.client.Tasks; /** * Host creation parameters */ public class CreateHosts extends ViPRExecutionTask<Tasks<HostRestRep>> { private URI vcp; private URI cluster; private List<String> hostNames; private URI varray; public CreateHosts(URI vcp, URI cluster, List<String> hostNames, URI varray) { this.vcp = vcp; this.cluster = cluster; this.hostNames = hostNames; this.varray = varray; } @Override public Tasks<HostRestRep> executeTask() throws Exception { ProvisionBareMetalHostsParam create = new ProvisionBareMetalHostsParam(); create.setCluster(cluster); create.setComputeVpool(vcp); create.setTenant(getOrderTenant()); create.setVarray(varray); for (String hostName : hostNames) { if (hostName != null) { create.getHostNames().add(hostName); } } Tasks<HostRestRep> tasks = getClient().hosts().provisionBareMetalHosts(create); for (Task<HostRestRep> task : tasks.getTasks()) { addOrderIdTag(task.getTaskResource().getId()); } return tasks; } }