/*
* Copyright (c) 2014 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.datadomain.restapi.errorhandling;
import com.emc.storageos.datadomain.restapi.errorhandling.DataDomainApiException;
import com.emc.storageos.svcs.errorhandling.annotations.DeclareServiceCode;
import com.emc.storageos.svcs.errorhandling.annotations.MessageBundle;
import com.emc.storageos.svcs.errorhandling.resources.ServiceCode;
import java.net.URI;
/**
* This interface holds all the methods used to create {@link VPlexApiException}s
* <p/>
* Remember to add the English message associated to the method in VPlexApiExceptions.properties and use the annotation
* {@link com.emc.storageos.svcs.errorhandling.annotations.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 DataDomainApiExceptions {
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException authenticationFailure(String dataDomainURI);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException connectionFailure(String dataDomainURI);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException jsonWriterReaderException(Throwable cause);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedToFindManagementSystem(String systemNo);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedResponseFromDataDomainMsg(URI uri, int status, String msg, int ddCode);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedResponseFromDataDomain(URI uri, int status);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedDataDomainDiscover(String system, Throwable cause);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedProcessExportOption(String option);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedExportPathDoesNotExist(String exportPath);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedToAddExportClients(final String exportPath);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedToCreateExport(final String exportPath);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedToDeleteExportClients(final String exportPath);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedToDeleteExport(String message);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException failedSharePathDoesNotExist(String sharePath);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException unsupportedVersion(String version);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException statsCollectionFailed(String message);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException updateExportFailedNoExistingExport(final String FsId);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException deleteExportRulesFailedNoExistingExport(final String FsId);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException scanFailedIncompatibleDdmc(final String version,
final String minVersion);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException opFailedProviderUnreachable(final String op,
final String provider);
@DeclareServiceCode(ServiceCode.DATADOMAIN_API_ERROR)
DataDomainApiException connectStorageFailed(final String system);
}