private String isVolumeIngestable(CIMInstance volumeInstance,String isBound,String usageProp,String unManagedVolumeNativeGuid,Map<String,Set<String>> duplicateSyncAspectElementNameMap){
  String usage=getCIMPropertyValue(volumeInstance,usageProp);
  if (!Boolean.valueOf(isBound)) {
    return "The volume is not ingestable because it is not bound and the controller only supports bound volumes";
  }
  if (!(TWO.equalsIgnoreCase(usage) || NINE.equalsIgnoreCase(usage) || SEVEN.equalsIgnoreCase(usage)|| ELEVEN.equalsIgnoreCase(usage)|| USAGE_LOCAL_REPLICA_TARGET.equalsIgnoreCase(usage)|| USAGE_DELTA_REPLICA_TARGET.equalsIgnoreCase(usage)|| USGAE_LOCAL_REPLICA_SOURCE.equalsIgnoreCase(usage)|| USAGE_LOCAL_REPLICA_SOURCE_OR_TARGET.equalsIgnoreCase(usage))) {
    return "The volume is not ingestable because it has a usage that is not supported by the controller";
  }
  boolean hasUnsupportedSnapshotSessions=false;
  if (duplicateSyncAspectElementNameMap.containsKey(unManagedVolumeNativeGuid)) {
    Set<String> duplicateSyncAspectElementNames=duplicateSyncAspectElementNameMap.get(unManagedVolumeNativeGuid);
    if ((duplicateSyncAspectElementNames != null) && (!duplicateSyncAspectElementNames.isEmpty())) {
      hasUnsupportedSnapshotSessions=true;
    }
  }
  if (hasUnsupportedSnapshotSessions) {
    return "The volume is not ingestable because it has multiple array snapshots with the same name, " + "which is not supported by the controller. The storage system may use generation numbers " + "to differentiate these snapshots, and the controller does not currently support generation numbers";
  }
  return null;
}

private String isVolumeIngestable ( CIMInstance volumeInstance , String isBound , String usageProp , String unManagedVolumeNativeGuid , Map < String , Set < String > > duplicateSyncAspectElementNameMap ) { String usage = getCIMPropertyValue ( volumeInstance , usageProp ) ; if ( ! Boolean . valueOf ( isBound ) ) { return "The volume is not ingestable because it is not bound and the controller only supports bound volumes" ; } if ( ! ( TWO . equalsIgnoreCase ( usage ) || NINE . equalsIgnoreCase ( usage ) || SEVEN . equalsIgnoreCase ( usage ) || ELEVEN . equalsIgnoreCase ( usage ) || USAGE_LOCAL_REPLICA_TARGET . equalsIgnoreCase ( usage ) || USAGE_DELTA_REPLICA_TARGET . equalsIgnoreCase ( usage ) || USGAE_LOCAL_REPLICA_SOURCE . equalsIgnoreCase ( usage ) || USAGE_LOCAL_REPLICA_SOURCE_OR_TARGET . equalsIgnoreCase ( usage ) ) ) { return "The volume is not ingestable because it has a usage that is not supported by the controller" ; } boolean hasUnsupportedSnapshotSessions = false ; if ( duplicateSyncAspectElementNameMap . containsKey ( unManagedVolumeNativeGuid ) ) { Set < String > duplicateSyncAspectElementNames = duplicateSyncAspectElementNameMap . get ( unManagedVolumeNativeGuid ) ; if ( ( duplicateSyncAspectElementNames != null ) && ( ! duplicateSyncAspectElementNames . isEmpty ( ) ) ) { hasUnsupportedSnapshotSessions = true ; } } if ( hasUnsupportedSnapshotSessions ) { return "The volume is not ingestable because it has multiple array snapshots with the same name, " + "which is not supported by the controller. The storage system may use generation numbers " + "to differentiate these snapshots, and the controller does not currently support generation numbers" ; } return null ; }
only volumes with usage 2 can be ingested , other volumes apart from replicas have usage other than 2 . volumes which are set emcsvisbound as false cannot be ingested
