/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.service.vipr.compute.tasks; import java.net.URI; import com.emc.sa.service.vipr.tasks.ViPRExecutionTask; import com.emc.storageos.db.client.model.Host; import com.emc.storageos.model.host.HostRestRep; import com.emc.vipr.client.Task; public class DeactivateHostNoWait extends ViPRExecutionTask<Task<HostRestRep>> { private URI hostId; private boolean detachStorage; public DeactivateHostNoWait(Host host) { this.hostId = host.getId(); provideDetailArgs(host.getHostName()); } public DeactivateHostNoWait(URI hostID) { this.hostId = hostID; provideDetailArgs(hostID); } public DeactivateHostNoWait(Host host, boolean detachStorage) { this.hostId = host.getId(); this.detachStorage = detachStorage; provideDetailArgs(host.getHostName()); } public DeactivateHostNoWait(URI hostID, boolean detachStorage) { this.hostId = hostID; this.detachStorage = detachStorage; provideDetailArgs(hostID); } public DeactivateHostNoWait(URI hostID, String hostname, boolean detachStorage) { this.hostId = hostID; this.detachStorage = detachStorage; provideDetailArgs(hostname); } @Override public Task<HostRestRep> executeTask() throws Exception { Task<HostRestRep> task = getClient().hosts().deactivate(hostId, detachStorage); addOrderIdTag(task.getTaskResource().getId()); return task; } }