/*
* Copyright (c) 2013 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller.impl.smis;
import com.emc.storageos.svcs.errorhandling.annotations.DeclareServiceCode;
import com.emc.storageos.svcs.errorhandling.annotations.MessageBundle;
import com.emc.storageos.svcs.errorhandling.model.ServiceError;
import com.emc.storageos.svcs.errorhandling.resources.ServiceCode;
/**
* This interface holds all the methods used to create {@link ServiceError}s
* related to SMIS Devices
* <p/>
* Remember to add the English message associated to the method in SmisErrors.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 SmisErrors {
@DeclareServiceCode(ServiceCode.STORAGE_PROVIDER_UNAVAILABLE)
public ServiceError unableToCallStorageProvider(final String cause);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError methodFailed(final String methodName, final String cause);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError jobFailed(final String cause);
@DeclareServiceCode(ServiceCode.VOLUME_CAN_NOT_BE_EXPANDED)
public ServiceError volumeCannotBeExpanded();
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError noConsistencyGroupProvided();
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError noVolumeProvided();
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError noStorageSystemProvided();
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError noConsistencyGroupWithGivenName();
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError unableToFindSynchPath(String objectName);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError noBlockSnapshotsFound();
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError noProtocolControllerCreated();
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError dissolveActiveRestoreSessionFailure(String volume, String snap);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError resyncActiveRestoreSessionFailure(String volume);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError resumeSessionFailure(String volume, String snap);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError establishAfterSwapFailure(String source, String target);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError volumeExpandIsNotSupported(String nativeGuid);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError errorSettingRecoverPointTag(String setting);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError anExistingSGAlreadyHasTheInitiators(String maskURI, String initiators);
@DeclareServiceCode(ServiceCode.SMIS_COMMAND_ERROR)
public ServiceError swapOperationNotAllowedDueToActiveCopySessions();
}