/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.service.vipr.file.tasks; import java.net.URI; import com.emc.sa.service.vipr.tasks.WaitForTask; import com.emc.storageos.model.file.FileShareRestRep; import com.emc.storageos.model.file.FileSystemDeleteParam; import com.emc.storageos.volumecontroller.FileControllerConstants; import com.emc.vipr.client.Task; public class DeactivateFileSystem extends WaitForTask<FileShareRestRep> { private final URI fileSystemId; private FileControllerConstants.DeleteTypeEnum fileDeletionType; public DeactivateFileSystem(String fileSystemId, FileControllerConstants.DeleteTypeEnum fileDeletionType) { this(uri(fileSystemId), fileDeletionType); } public DeactivateFileSystem(URI fileSystemId, FileControllerConstants.DeleteTypeEnum fileDeletionType) { this.fileSystemId = fileSystemId; this.fileDeletionType = fileDeletionType; provideDetailArgs(fileSystemId, fileDeletionType.toString()); } public URI getFileSystemId() { return fileSystemId; } @Override protected Task<FileShareRestRep> doExecute() throws Exception { FileSystemDeleteParam param = new FileSystemDeleteParam(); param.setForceDelete(true); param.setDeleteType(fileDeletionType.toString()); return getClient().fileSystems().deactivate(fileSystemId, param); } }