/* * Copyright (c) 2015. EMC Corporation * All Rights Reserved */ package com.emc.storageos.volumecontroller.impl.block; import java.net.URI; import java.util.List; import java.util.Map; import java.util.Set; import com.emc.storageos.db.client.model.ExportGroup; import com.emc.storageos.db.client.model.ExportMask; import com.emc.storageos.db.client.model.Initiator; import com.emc.storageos.db.client.model.StorageSystem; import com.emc.storageos.workflow.Workflow; /** * Class to hold contextual data for applying the selection rules for * ExportMasks that match volumes that we want to export */ public class VmaxVolumeToExportMaskApplicatorContext { // INPUT: // readonly data public Map<String, Set<URI>> initiatorToExportMaskPlacementMap; public boolean zoningStepNeeded; public String previousStep; public boolean flowCreated; public Workflow workflow; public ExportGroup exportGroup; public StorageSystem storage; public Map<URI, Integer> volumeMap; public String token; public Map<URI, ExportMaskPolicy> exportMaskURIToPolicy; public Set<URI> partialMasks; // read/write public AbstractDefaultMaskingOrchestrator.InitiatorHelper initiatorHelper; public List<URI> initiatorURIsCopy; public Set<URI> initiatorsForNewExport; // OUTPUT: // Generated contextual data public Map<ExportMask, ExportMaskPolicy> exportMaskToPolicy; public Map<URI, Map<URI, Integer>> masksToUpdateWithVolumes; public Map<URI, Set<Initiator>> masksToUpdateWithInitiators; // Result/status public boolean resultSuccess; }