/* * Copyright (c) 2008-2014 EMC Corporation * All Rights Reserved */ package com.emc.storageos.security.geo.exceptions; import com.emc.storageos.security.geo.exceptions.FatalGeoException; 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; @MessageBundle public interface FatalGeoExceptions { @DeclareServiceCode(ServiceCode.GEOSVC_VDC_CONNECT_ERROR) public FatalGeoException unableConnect(String endpoint, Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_VDC_VERSION_INCOMPATIBLE) public FatalGeoException vdcVersionCheckFail(URI vdcId); @DeclareServiceCode(ServiceCode.GEOSVC_CONNECTVDC_INVALID_STATUS) public FatalGeoException connectVdcInvalidStatus(String errMsg); @DeclareServiceCode(ServiceCode.GEOSVC_DISCONNECTVDC_INVALID_STATUS) public FatalGeoException disconnectVdcInvalidStatus(String vdcName); @DeclareServiceCode(ServiceCode.GEOSVC_DISCONNECTVDC_STILL_REACHABLE) public FatalGeoException disconnectVdcStillReachable(String shortVdcId); @DeclareServiceCode(ServiceCode.GEOSVC_DISCONNECTVDC_CONCURRENT) public FatalGeoException disconnectVdcConcurrentCheckFail(String vdcName); @DeclareServiceCode(ServiceCode.GEOSVC_DISCONNECTVDC_FAILED) public FatalGeoException disconnectVdcFailed(URI vdcId, Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_REMOTEVDC_EXCEPTION) public FatalGeoException disconnectRemoteSyncFailed(String vdcId, String cause); @DeclareServiceCode(ServiceCode.GEOSVC_GEODB_CONFIG_FAILED) public FatalGeoException vdcStrategyFailed(Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_DISCONNECTVDC_FAILED) public FatalGeoException disconnectVdcRemoveDBNodesFailed(Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_RECONNECTVDC_INVALID_STATUS) public FatalGeoException reconnectVdcInvalidStatus(String vdcName); @DeclareServiceCode(ServiceCode.GEOSVC_RECONNECTVDC_UNREACHABLE) public FatalGeoException reconnectVdcUnreachable(String msg); @DeclareServiceCode(ServiceCode.GEOSVC_RECONNECTVDC_UNREACHABLE) public FatalGeoException reconnectVdcIncompatible(); @DeclareServiceCode(ServiceCode.GEOSVC_REMOTEVDC_EXCEPTION) public FatalGeoException reconnectRemoteSyncFailed(String vdcId, String cause); // Acquire global lock for vdc operation fail @DeclareServiceCode(ServiceCode.GEOSVC_ACQUIRED_LOCK_FAIL) public FatalGeoException acquireLockFail(String vdcShortId, String errMsg); // TODO remove all remaining places where this message is used @DeclareServiceCode(ServiceCode.GEOSVC_PRECHECK_ERROR) public FatalGeoException connectVdcPrecheckFail(String vdcShortId, String errMsg); // Merge all vdc config info failed @DeclareServiceCode(ServiceCode.GEOSVC_GEODB_CONFIG_FAILED) public FatalGeoException mergeConfigFail(); // Sync new cert failed @DeclareServiceCode(ServiceCode.GEOSVC_CONNECTVDC_SYNC_CERT_ERROR) public FatalGeoException connectVdcSyncCertFail(String vdcName, Throwable cause); // Gen cert chain failed @DeclareServiceCode(ServiceCode.GEOSVC_CONNECTVDC_GEN_CERT_CHAIN_ERROR) public FatalGeoException connectVdcGenCertChainFail(Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException connectVDCLocalMultipleVDC(String id); // Sync vdc config to all vdc failed @DeclareServiceCode(ServiceCode.GEOSVC_GEODB_CONFIG_FAILED) public FatalGeoException syncConfigFail(Throwable cause); // Add vdc post check failed @DeclareServiceCode(ServiceCode.GEOSVC_POSTCHECK_ERROR) public FatalGeoException connectVdcPostCheckFail(Throwable cause); // Update vdc connection status failed @DeclareServiceCode(ServiceCode.GEOSVC_CONNECTVDC_STATUS_UPDATE_ERROR) public FatalGeoException connectVdcStatusUpdateFail(Throwable cause); // Fail to remove root's roles and project ownerships @DeclareServiceCode(ServiceCode.GEOSVC_CONNECTVDC_REMOVE_ROOT_ROLES_ERROR) public FatalGeoException connectVdcRemoveRootRolesFailed(Throwable cause); // Remove vdc precheck failed, do not meet the requirement @DeclareServiceCode(ServiceCode.GEOSVC_PRECHECK_ERROR) public FatalGeoException removeVdcPrecheckFail(String vdcName, String errMsg); // Remove vdc sync config failed @DeclareServiceCode(ServiceCode.GEOSVC_REMOVEVDC_SYNC_CONFIG_ERROR) public FatalGeoException removeVdcSyncConfigFail(Throwable cause); // Remove vdc post check failed @DeclareServiceCode(ServiceCode.GEOSVC_POSTCHECK_ERROR) public FatalGeoException removeVdcPostcheckFail(Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_REMOVEVDC_INVALID_STATUS) public FatalGeoException removeVdcInvalidStatus(String errMsg); @DeclareServiceCode(ServiceCode.GEOSVC_UPDATEVDC_INVALID_STATUS) public FatalGeoException updateVdcInvalidStatus(String errMsg); // Update vdc precheck failed, do not meet the requirement @DeclareServiceCode(ServiceCode.GEOSVC_PRECHECK_ERROR) public FatalGeoException updateVdcPrecheckFail(String errMsg); @DeclareServiceCode(ServiceCode.GEOSVC_UNSTABLE_VDC_ERROR) public FatalGeoException unstableVdcFailure(String vdcName); @DeclareServiceCode(ServiceCode.GEOSVC_VESION_ERROR) public FatalGeoException vdcVersionCheckFail(String vdcName); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException vdcWrongStatus(String status); @DeclareServiceCode(ServiceCode.GEOSVC_GEODB_CONFIG_FAILED) public FatalGeoException failedToSyncConfigurationForVdc(String vdcName, Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_PRECHECK_ERROR) public FatalGeoException failedToSendPreCheckRequest(String vdcName, Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_SECURITY_ERROR) public FatalGeoException remoteVdcAuthorizationFailed(String vdcName, Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_PRECHECK_ERROR) public FatalGeoException failedToSedPostCheckRequest(String vdcName, Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_SECURITY_ERROR) public FatalGeoException keyStoreFailure(String vdcName, Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_GEODB_CONFIG_FAILED) public FatalGeoException syncBadAPIVDC(String vdcName); @DeclareServiceCode(ServiceCode.GEOSVC_FEDERATION_UNSTABLE) public FatalGeoException geoOperationDetected(String msg); @DeclareServiceCode(ServiceCode.GEOSVC_FEDERATION_UNSTABLE) public FatalGeoException vdcNotStable(final String unstableVdcId); @DeclareServiceCode(ServiceCode.GEOSVC_FEDERATION_UNSTABLE) public FatalGeoException vdcNotConnected(final String notConnectedVdcId); @DeclareServiceCode(ServiceCode.GEOSVC_FEDERATION_UNSTABLE) public FatalGeoException vdcNotReachable(final String unreachableVdcId); @DeclareServiceCode(ServiceCode.GEOSVC_ACQUIRED_LOCK_FAIL) public FatalGeoException accessGlobalLockFail(); @DeclareServiceCode(ServiceCode.GEOSVC_VDC_VERSION_INCOMPATIBLE) public FatalGeoException versionIsNotUpgradableInGeo(final String target); @DeclareServiceCode(ServiceCode.GEOSVC_INTERNAL_ERROR) public FatalGeoException cannotPerformOperation(final String vdc, final String reason); @DeclareServiceCode(ServiceCode.GEOSVC_INVALID_ENDPOINT) public FatalGeoException invalidFQDNEndPoint(final String vdcName, final String ip); @DeclareServiceCode(ServiceCode.GEOSVC_INVALID_ENDPOINT) public FatalGeoException wrongIPSpecification(final String vdcName); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException remoteVDCContainData(); @DeclareServiceCode(ServiceCode.GEOSVC_VDC_VERSION_INCOMPATIBLE) public FatalGeoException remoteVDCIncompatibleVersion(); @DeclareServiceCode(ServiceCode.GEOSVC_VDC_VERSION_INCOMPATIBLE) public FatalGeoException remoteVDCInLowerVersion(); @DeclareServiceCode(ServiceCode.GEOSVC_VDC_VERSION_INCOMPATIBLE) public FatalGeoException hasTripleVDCVersionsInFederation(); @DeclareServiceCode(ServiceCode.GEOSVC_CONNECTIVITY_ERROR) public FatalGeoException failedToCheckConnectivity(String msg); @DeclareServiceCode(ServiceCode.GEOSVC_CONNECTIVITY_ERROR) public FatalGeoException failedRemoveNodesFromBlackList(String vdcName, String remoteVdc, Throwable cause); @DeclareServiceCode(ServiceCode.GEOSVC_REMOTEVDC_EXCEPTION) public FatalGeoException remoteVDCException(int status, String remoteFailure); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException remoteFreshVDCWrongStatus(URI id); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException remoteVDCWrongOperationStatus(URI id, String operation); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException remoteVDCWrongStandaloneInstall(); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException remoteVDCFailedToGetVersion(URI id); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException remoteVDCGeoEncryptionMissing(); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException remoteInitiatorIpError(); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException failedToFindLocalVDC(); @DeclareServiceCode(ServiceCode.GEOSVC_WRONG_STATE) public FatalGeoException invalidNatCheckCall(String clientIP, String directClientIp); }