/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.fileorchestrationcontroller; import java.util.List; import com.emc.storageos.svcs.errorhandling.resources.InternalException; import com.emc.storageos.workflow.Workflow; public interface FileOrchestrationInterface { /** * Adds the steps necessary for creating one or more filesystems of a given * * @param workflow -- a Workflow * @param waitFor -- The String key that should be used in the Workflow.createStep * waitFor parameter in order to wait on the previous controller's actions to complete. * @param filesystems -- The entire list of filesystem uri's for this request (all technologies). * @param taskId -- The top level operation's taskId. * @return -- A waitFor key that can be used by subsequent controllers to wait on * the Steps created by this controller. * @throws InternalException */ public String addStepsForCreateFileSystems( Workflow workflow, String waitFor, List<FileDescriptor> filesystems, String taskId) throws InternalException; /** * Add the necessary steps for expanding filesystems * * @param workflow - Workflow being constructed * @param waitFor - The String key that should be used for waiting on previous steps in Workflow.createStep * @param fileDescriptors - The entire list of FileDescriptors for this request (all technologies) * @param taskId - The top level operation's taskId * @return A waitFor key that can be used by subsequent controllers to wait on * the Steps created by this controller */ public String addStepsForExpandFileSystems( Workflow workflow, String waitFor, java.util.List<FileDescriptor> fileDescriptors, String taskId) throws InternalException; }