/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.api.service.impl.resource.blockingestorchestration; import java.net.URI; import com.emc.storageos.svcs.errorhandling.annotations.DeclareServiceCode; import com.emc.storageos.svcs.errorhandling.annotations.MessageBundle; import com.emc.storageos.svcs.errorhandling.resources.ServiceCode; /** * This interface holds all the methods used to create an error condition that * will be associated with a Unmanaged Volume Operations * <p/> * Remember to add the English message associated to the method in UnmanagedVolumeExceptions.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 IngestionExceptions { @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException generalException(String message); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException generalVolumeException(String unManagedVolume, String message); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumePartiallyIngested(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeAlreadyIngested(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeNotIngestable(String unManagedVolume, String reason); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException couldNotCreateVolume(String message); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeIsInactive(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeIsAnSrdfTarget(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeWithoutSRDFProtection(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException srdfVpoolRemoteProtectionCopyModeMismatch(String unManagedVolume, String copyMode); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException srdfVolumeRemoteProtectionCopyModeMismatch(String unManagedVolume, String copyMode); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException srdfVolumeRemoteProtectionMismatch(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeIsRecoverpointEnabled(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeAddedToConsistencyGroup(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeVplexConsistencyGroupCouldNotBeIdentified(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeVpoolConsistencyGroupMismatch(String vpool, String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException cannotIngestNonVplexVolumeIntoVplexVpool(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeIsExported(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeHasReplicas(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeAndVpoolProtocolMismatch(String unManagedVolume, String vpool, String protocols); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeHasInvalidHostIoLimits(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException systemResourceLimitsExceeded(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException poolResourceLimitsExceeded(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeIsNotVisible(String unManagedVolume, String taskStatus); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeMasksNotIngested(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeMasksNotIngestedAdditionalInfo(String unManagedVolume, String messages); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException snapshotVpoolSpecifiesSrdf(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeVolumeTypeNotSet(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeRDFGroupMismatch(String unManagedVolume, String umvRDFGroupName, String projectName, String validGroupNames); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeRDFGroupMissing(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedSRDFTargetVolumeVArrayMismatch(String unManagedVolume, String sourceVarray); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedSRDFSourceVolumeVArrayMismatch(String unManagedVolume, String targetVarray); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeVpoolTieringPolicyMismatch(String unManagedVolume, String vpool); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException varrayIsInvalidForVplexVolume(String unManagedVolume, String reason); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unmanagedVolumeHasNoStoragePool(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException hostHasNoInitiators(); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException hostHasNoZoning(String initiators); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException hostZoningHasFewerPorts(String hostName, String portCount, String minPaths); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException hostZoningHasMorePorts(String hostName, String portCount, String maxPaths); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException hostZoningHasDifferentPortCount(String initiator, String hostName, String portCount, String pathsPerInit); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException inconsistentZoningAcrossHosts(String messages); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException failedToIngestVplexBackend(String message); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException failedToGetStorageVolumeInfoForDevice(String supportingDeviceName, String reason); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException validationException(String reason); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException exportedVolumeIsMissingWwn(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException vplexBackendVolumeHasNoParent(String unManagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unManagedProtectionSetNotFound(String nativeGuid); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException rpIngestingNonVolumeObject(String nativeGuid); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException noManagedTargetVolumeFound(String nativeGuid, String rpManagedTargetVolumeIdStr); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException noUnManagedTargetVolumeFound(String nativeGuid, String rpUnManagedTargetVolumeIdStr); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException noManagedSourceVolumeFound(String nativeGuid, String rpManagedSourceVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException noUnManagedSourceVolumeFound(String nativeGuid); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException noUnManagedSourceVolumeFound2(String nativeGuid, String rpUnManagedSourceVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException noVolumesFoundInProtectionSet(String label); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException noUnManagedExportMaskFound(String nativeGuid); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException rpObjectNotSet(String fieldName, URI objectId); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException rpObjectNotFound(URI objectId); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException noUnManagedVolumesFound(String cgName); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException invalidSourceRPVirtualPool(String volLabel, String vpoolLabel); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException invalidRPVirtualPool(String volLabel, String vpoolLabel); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unManagedProtectionSetNotHealthy(String cgName, String unmanagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unManagedProtectionSetNotAsync(String cgName, String unmanagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException unManagedProtectionSetNotSync(String cgName, String unmanagedVolume); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException rpUnManagedTargetVolumeInImageAccessState(String nativeGuid, String rpAccessState); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException vplexVolumeCannotHaveReplicasOnBothLegs(String details); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException rpUnManagedVolumeCannotHaveMirrors(String volLabel, String mirrors); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException cannotIngestMirrorsOfRPVolumes(String mirrorLabel, String parentLabel); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException validationFailedRPIngestionVpoolMisalignment(String volumeName, String targetVarrayNames, String varrayName); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException validationFailedRPIngestionMissingTargets(String varrayNames); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException validationFailedRPIngestionMissingVolume(String volumeID, String cgName); @DeclareServiceCode(ServiceCode.UNMANAGED_VOLUME_INGESTION_EXCEPTION) public IngestionException invalidExportConfiguration(String errorDetails); }