/*
* Copyright (c) 2013 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.exceptions;
import java.net.URI;
import java.util.Collection;
import java.util.Map;
import com.emc.storageos.ceph.CephExceptions;
import com.emc.storageos.cinder.errorhandling.CinderExceptions;
import com.emc.storageos.hds.HDSExceptions;
import com.emc.storageos.isilon.restapi.IsilonExceptions;
import com.emc.storageos.netapp.NetAppExceptions;
import com.emc.storageos.networkcontroller.exceptions.NetworkDeviceControllerExceptions;
import com.emc.storageos.plugins.DiscoveryExceptions;
import com.emc.storageos.recoverpoint.exceptions.RecoverPointExceptions;
import com.emc.storageos.scaleio.ScaleIOExceptions;
import com.emc.storageos.svcs.errorhandling.annotations.DeclareServiceCode;
import com.emc.storageos.svcs.errorhandling.annotations.MessageBundle;
import com.emc.storageos.svcs.errorhandling.model.ExceptionMessagesProxy;
import com.emc.storageos.svcs.errorhandling.resources.ServiceCode;
import com.emc.storageos.vnx.xmlapi.VNXExceptions;
import com.emc.storageos.vnxe.VNXeExceptions;
import com.emc.storageos.volumecontroller.impl.smis.SmisExceptions;
import com.emc.storageos.vplex.api.VPlexApiException;
import com.emc.storageos.vplex.api.VPlexApiExceptions;
import com.emc.storageos.xiv.api.XIVRestExceptions;
/**
* This interface holds all the methods and interfaces used to create {@link DeviceControllerException}s
* <p/>
* Remember to add the English message associated to the method in DeviceControllerExceptions.properties and use the
* annotation
* {@link DeclareServiceCode} to set the service code associated to this error condition. You may need to create a new
* service code if there
* is no an existing one suitable for your error condition.
* <p/>
* For more information or to see an example, check the Developers Guide section in the Error Handling Wiki page:
* http://confluence.lab.voyence.com/display/OS/Error+Handling+Framework+and+Exceptions+in+ViPR
*/
@MessageBundle
public interface DeviceControllerExceptions {
/** Holds the methods used to create Isilon related exceptions */
public static final IsilonExceptions isilon = ExceptionMessagesProxy.create(IsilonExceptions.class);
/** Holds the methods used to create SMIS related exceptions */
public static final SmisExceptions smis = ExceptionMessagesProxy.create(SmisExceptions.class);
/** Holds the methods used to create NetApp related exceptions */
public static final NetAppExceptions netapp = ExceptionMessagesProxy.create(NetAppExceptions.class);
/** Holds the methods used to create VPLEX related exceptions */
public static final VPlexApiExceptions vplex = ExceptionMessagesProxy.create(VPlexApiExceptions.class);
/** Holds the methods used to create discovery plugin related exceptions */
public static final DiscoveryExceptions discovery = ExceptionMessagesProxy.create(DiscoveryExceptions.class);
/** Holds the methods used to create network devices related exceptions */
public static final NetworkDeviceControllerExceptions network = ExceptionMessagesProxy.create(NetworkDeviceControllerExceptions.class);
/** Holds the methods used to create recovery point related exceptions */
public static final RecoverPointExceptions recoverpoint = ExceptionMessagesProxy.create(RecoverPointExceptions.class);
/** Holds the methods used to create VNX related exceptions */
public static final VNXExceptions vnx = ExceptionMessagesProxy.create(VNXExceptions.class);
/** Holds the methods used to create HDS related exceptions */
public static final HDSExceptions hds = ExceptionMessagesProxy.create(HDSExceptions.class);
/** Holds the methods used to create Cinder related exceptions */
public static final CinderExceptions cinder = ExceptionMessagesProxy.create(CinderExceptions.class);
/** Holds the methods used to create ScaleIO related exceptions */
public static final ScaleIOExceptions scaleio = ExceptionMessagesProxy.create(ScaleIOExceptions.class);
/** Holds the methods used to create VNXe related exceptions */
public static final VNXeExceptions vnxe = ExceptionMessagesProxy.create(VNXeExceptions.class);
/** Holds the methods used to create Ceph related exceptions */
public static final CephExceptions ceph = ExceptionMessagesProxy.create(CephExceptions.class);
/** Holds the methods used to create XIV related exceptions */
public static final XIVRestExceptions xiv = ExceptionMessagesProxy.create(XIVRestExceptions.class);
@DeclareServiceCode(ServiceCode.DISPATCHER_UNABLE_FIND_CONTROLLER)
public DeviceControllerException unableToDispatchToController(final String targetClassName);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException attachVolumeMirrorFailed(String message);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException resumeVolumeMirrorFailed(URI id);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException stopVolumeMirrorFailed(URI id);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException createConsistencyGroupFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException connectStorageFailedDb(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException connectStorageFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException connectStorageFailedNull();
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException connectStorageFailedNoDevice(final String deviceType);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException disconnectStorageFailedDb(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException disconnectStorageFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException disconnectStorageFailedNull();
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException blockDeviceOperationNotSupported();
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException scanFailedToFindSystem(final String provider,
final String system);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException scanProviderFailed(final String system,
final String provider);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException addStorageSystemFailed(final String system,
final String provider);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException getDeviceTypeFailed(final String deviceURI);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupCreateFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupDeleteFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupDeleteUnsupported(final String exportGroupName);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupUpdateFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupAddInitiatorsFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupRemoveInitiatorsFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException createVolumeSnapshotFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException activateVolumeSnapshotFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException deactivateMirrorFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException deleteConsistencyGroupFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException deleteVolumeSnapshotFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupAddVolumesFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException restoreVolumeFromSnapshotFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException activateVolumeFullCopyFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException detachVolumeFullCopyFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException restoreVolumeFromFullCopyFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException resynchronizeFullCopyFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException fractureFullCopyFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException synchronizationInstanceNull(final String targetLabel);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException srdfConsistencyGroupAlreadyExistsWithVolume(final String cgName);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException srdfConsistencyGroupNotFoundOnProviders();
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException srdfBothSourceAndTargetProvidersNotReachable();
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException failbackVolumeOperationFailed(final String message, final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException suspendVolumeOperationFailed(final String message, final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException splitVolumeOperationFailed(final String message, final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException resumeVolumeOperationFailed(final String message, final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException snapSettingsInstanceNull(final String snapLabel, final String snapURI);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException groupSnapshotNotSupported(final String replicationGroup);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException exportAddVolumes(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException exportRemoveVolumes(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException exportAddInitiators(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException exportRemoveInitiators(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException exportGroupChangePathParams(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException changeAutoTieringPolicy(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException exportChangePolicyAndLimits(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public VPlexApiException findExportMasksFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public VPlexApiException refreshExportMaskFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.VNXFILE_FILESYSTEM_ERROR)
public DeviceControllerException unableToCreateFileSystem(final String msg);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToDeleteFileSystem(final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToExportFileShare(final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToUnexportFileShare(final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToExpandFileSystem(final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToShareFileSystem(final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToDeleteFileShare(final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToCreateFileSystemSnapshot(final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToRestoreFileSystemFromSnapshot(final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException createFileSystemOnPhysicalNASDisabled();
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException noNasServerFoundToAddStepsToApplyPolicy(final String storage);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToConnectToStorageDeviceForMonitoringDbException(
final String storage, final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToConnectToStorageDeviceForMonitoringDbNullRef(final String storage);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException unableToConnectToStorageDeviceForMonitoringNoDevice(final String storage,
final String devType);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException failedToAcquireWorkflowLock(String lockName, String operation);
@DeclareServiceCode(ServiceCode.FILE_CONNECTION_ERROR)
DeviceControllerException unableToDisconnectStorageDeviceMonitoringDbException(
final String storage, final Throwable cause);
@DeclareServiceCode(ServiceCode.FILE_CONNECTION_ERROR)
public DeviceControllerException unableToDisconnectStorageDeviceMonitoringDbNullRef(final String storage);
@DeclareServiceCode(ServiceCode.FILE_CONNECTION_ERROR)
public DeviceControllerException unableToDisconnectStorageDeviceMonitoringNoDevice(final String storage,
final String deviceType);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException operationNotSupported();
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException createSmbShareFailed(final String name, final String description);
@DeclareServiceCode(ServiceCode.CONTROLLER_INVALID_SYSTEM_TYPE)
public DeviceControllerException invalidSystemType(String type);
@DeclareServiceCode(ServiceCode.CONTROLLER_INVALID_URI)
public DeviceControllerException invalidURI(final Throwable cause);
@DeclareServiceCode(ServiceCode.CONTROLLER_ENTITY_NOT_FOUND)
public DeviceControllerException invalidObjectNull();
@DeclareServiceCode(ServiceCode.CONTROLLER_ENTITY_NOT_FOUND)
public DeviceControllerException objectNotFound(final URI objId);
@DeclareServiceCode(ServiceCode.CONTROLLER_ENTITY_INACTIVE)
public DeviceControllerException entityInactive(final URI id);
@DeclareServiceCode(ServiceCode.CONTROLLER_ENTITY_NOT_FOUND)
public DeviceControllerException entityNullOrEmpty(final String id);
// Invalid endpoint, not FC WWN: {0}
@DeclareServiceCode(ServiceCode.CONTROLLER_ENDPOINTS_ERROR)
public DeviceControllerException invalidEndpointExpectedFC(final String endpoint);
// FC endpoint being added to non-FC network: {0}
@DeclareServiceCode(ServiceCode.CONTROLLER_ENDPOINTS_ERROR)
public DeviceControllerException invalidEndpointExpectedNonFC(final String endpoint);
// Supplied endpoints not found for removal: {0}
@DeclareServiceCode(ServiceCode.CONTROLLER_ENDPOINTS_ERROR)
public DeviceControllerException endpointsNotFoundForRemoval(final Collection<String> endpoints);
@DeclareServiceCode(ServiceCode.CONTROLLER_ENDPOINTS_ERROR)
public DeviceControllerException endPointsCannotBeAddedOrRemoved(final String endpoint, final String action);
@DeclareServiceCode(ServiceCode.TRANSPORT_ZONE_ERROR)
public DeviceControllerException unknownTransportZone(final String intitiator);
@DeclareServiceCode(ServiceCode.CONTROLLER_VOLUME_REUSE_ERROR)
public DeviceControllerException volumesAlreadyPartOfStorageGroups(final String volumes);
@DeclareServiceCode(ServiceCode.CONTROLLER_UNEXPECTED_VOLUME)
public DeviceControllerException notAVolumeOrBlocksnapshotUri(URI uri);
@DeclareServiceCode(ServiceCode.TRANSPORT_ZONE_ERROR)
public DeviceControllerException cannotFindSwitchConnectionToStoragePort(String storagePort);
@DeclareServiceCode(ServiceCode.TRANSPORT_ZONE_ERROR)
public DeviceControllerException cannotFindSwitchConnectionToInitiator();
@DeclareServiceCode(ServiceCode.CONTROLLER_CANNOTLOCATEPORTS)
public DeviceControllerException cannotLocateMatchingSanStoragePortInitiator(String initiatorPortWwn, String volume);
@DeclareServiceCode(ServiceCode.CONTROLLER_CANNOTLOCATEPORTS)
public DeviceControllerException cannotFindStoragePortSanFabricInitiator(String initiatorPort);
@DeclareServiceCode(ServiceCode.TRANSPORT_ZONE_ERROR)
public DeviceControllerException initiatorNotPartOfNetwork(String initiatorPort);
@DeclareServiceCode(ServiceCode.TRANSPORT_ZONE_ERROR)
public DeviceControllerException cannotMatchSanStoragePortInitiatorForVolume(String storagePort, String initiatorPort, String volume);
@DeclareServiceCode(ServiceCode.CONTROLLER_ENTITY_NOT_FOUND)
public DeviceControllerException virtualArrayNotFoundForVolume(String volume);
@DeclareServiceCode(ServiceCode.CONTROLLER_ENTITY_NOT_FOUND)
public DeviceControllerException virtualArrayNotFound();
@DeclareServiceCode(ServiceCode.CONTROLLER_VMAX_MULTIPLE_MATCHING_COMPUTE_RESOURCE_MASKS)
public DeviceControllerException vmaxMultipleMatchingComputeResourceMasks(String maskNames);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR_ASSIGNING_STORAGE_PORTS)
public DeviceControllerException exceptionAssigningStoragePorts(String message, Throwable ex);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR_ASSIGNING_STORAGE_PORTS)
public DeviceControllerException unexpectedExceptionAssigningPorts(Throwable ex);
@DeclareServiceCode(ServiceCode.CONTROLLER_JOB_ERROR)
public DeviceControllerException cannotFindActiveProviderForStorageSystem();
@DeclareServiceCode(ServiceCode.CONTROLLER_JOB_ERROR)
public DeviceControllerException cannotFindValidActiveProviderForStorageSystem();
@DeclareServiceCode(ServiceCode.CONTROLLER_JOB_ERROR)
public DeviceControllerException noNetworksConnectingVPlexToArray(String vplex, String array);
@DeclareServiceCode(ServiceCode.CONTROLLER_JOB_ERROR)
public DeviceControllerException multipleVarraysInVPLEXExportGroup(String array, String varray1, String varray2);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException srdfAsyncStepCreationfailed(String groupName);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException rdfGroupInViprDBNotInSyncWithArray(String groupName);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException rdfGroupHasPairsCreatedOutsideViPR(String groupName);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException srdfAsyncStepDeletionfailed(String groupName);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException consistencyGroupNotFound(String name, String deviceLabel);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException consistencyGroupNotFoundForProvider(String name, String label, String provider);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException failedToAddMembersToConsistencyGroup(String name, String deviceLabel, String error);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException failedToRemoveMembersToConsistencyGroup(String name, String deviceLabel, String error);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR)
public DeviceControllerException failedToUpdateConsistencyGroup(String message);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException failedToAddMembersToReplicationGroup(String name, String deviceLabel, String error);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException failedToRemoveMembersFromReplicationGroup(String name, String deviceLabel, String error);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException existingExportFoundButWithSPsInDifferentNetwork(String vArrayName, String maskInfo);
@DeclareServiceCode(ServiceCode.VPLEX_UNSUPPORTED_ARRAY)
public DeviceControllerException unsupportedVPlexArray(final String arrayType, final String arrayLabel);
@DeclareServiceCode(ServiceCode.VPLEX_VARRAY_HAS_MIXED_CLUSTERS)
public DeviceControllerException vplexVarrayMixedClusters(final String varray, final String vplex);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException existingExportFoundButNotEnoughPortsToSatisfyMinPaths(String maskName, String totalPorts,
String exportPathParam);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException failedToAcquireLock(String lockName, String operation);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException failedToReleaseLock(String lockName);
@DeclareServiceCode(ServiceCode.CONTROLLER_ERROR_ASSIGNING_STORAGE_PORTS)
public DeviceControllerException unexpectedCondition(String message);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException failedToUpdateVolumesFromAppication(String application, String error);
@DeclareServiceCode(ServiceCode.WORKFLOW_TERMINATED_DR_FAILOVER)
public DeviceControllerException terminatedForControllerFailover();
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException createBlockSnapshotSessionFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException linkBlockSnapshotSessionTargetsFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException relinkBlockSnapshotSessionTargetsFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException unlinkBlockSnapshotSessionTargetsFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException restoreBlockSnapshotSessionFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException deleteBlockSnapshotSessionFailed(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException createTargetForSnapshotSessionFailed(final String snapSessionId);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException couldNotFindSyncObjectToUnlinkTarget(final String deviceId);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException couldNotDeleteReplicationGroup(final String reason);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException couldNotPerformExportDelete(final String reason);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupInconsistentLunViolation(final String exportGroupName, final String details);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException volumeExportReachedMaximumHlu(final String details);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException volumeExportMaximumHluNotAvailable(final String systemType);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException consistentLunFlagNotSetOnInitiatorGroup(final String initiatorGroup);
@DeclareServiceCode(ServiceCode.CONTROLLER_VALIDATION_EXCEPTION)
public DeviceControllerException validationError(final String type, final String details, final String remediationAction);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException couldNotPerformAliasOperation(final String reason);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException volumeSizeExceedingPoolSize(final String volumeName);
@DeclareServiceCode(ServiceCode.CONTROLLER_VALIDATION_EXCEPTION)
public DeviceControllerException validationExportMaskError(String maskName, String storageSystemName, String details);
@DeclareServiceCode(ServiceCode.CONTROLLER_VALIDATION_EXCEPTION)
public DeviceControllerException validationVolumeError(String volumeName, String storageSystemName, String details);
@DeclareServiceCode(ServiceCode.CONTROLLER_VALIDATION_EXCEPTION)
public DeviceControllerException removeInitiatorValidationError(String initiatorsName, String storageSystemName, String details);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupPortRebalanceError(final Throwable cause);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException exportGroupPathAdjustmentError(String reason);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException addHostHLUViolation(Map<String, Integer> volumeHluPair);
@DeclareServiceCode(ServiceCode.CONTROLLER_VALIDATION_EXCEPTION)
public DeviceControllerException removeVolumesValidationError(String volumeNames, String storageSystemName, String details);
@DeclareServiceCode(ServiceCode.CONTROLLER_VALIDATION_EXCEPTION)
public DeviceControllerException deleteExportGroupValidationError(String exportGroupName, String storageSystemName, String details);
@DeclareServiceCode(ServiceCode.BLOCK_CONTROLLER_ERROR)
public DeviceControllerException hostRescanUnsuccessful(String hostName, String reason);
@DeclareServiceCode(ServiceCode.FILE_CONTROLLER_ERROR)
public DeviceControllerException assignFilePolicyFailed(String filePolicyName, String appliedAt, String details);
}