use of com.emc.vipr.client.ViPRCoreClient in project coprhd-controller by CoprHD.
the class FileProvider method getFilesystemsForAssociation.
@Asset("fileFilesystemAssociation")
@AssetDependencies("project")
public List<AssetOption> getFilesystemsForAssociation(AssetOptionsContext ctx, URI project) {
ViPRCoreClient client = api(ctx);
List<FileShareRestRep> fileSharesforAssociation = Lists.newArrayList();
Map<URI, Boolean> uriToBool = Maps.newHashMap();
List<FileShareRestRep> fileShares = client.fileSystems().findByProject(project);
for (FileShareRestRep fileShare : fileShares) {
URI vpoolId = fileShare.getVirtualPool().getId();
if (!uriToBool.containsKey(vpoolId)) {
FileVirtualPoolRestRep vpool = client.fileVpools().get(vpoolId);
uriToBool.put(vpoolId, (vpool.getProtection() != null && vpool.getProtection().getAllowFilePolicyAtFSLevel() && (vpool.getProtection().getReplicationSupported() || vpool.getProtection().getScheduleSnapshots())));
}
if (uriToBool.get(vpoolId)) {
fileSharesforAssociation.add(fileShare);
}
}
return createFilesystemOptions(fileSharesforAssociation);
}
use of com.emc.vipr.client.ViPRCoreClient in project coprhd-controller by CoprHD.
the class FileProvider method getUnprotectedFileSystems.
@Asset("unprotectedFilesystem")
@AssetDependencies({ "project" })
public List<AssetOption> getUnprotectedFileSystems(AssetOptionsContext ctx, URI project) {
debug("getting unprotected file system (project=%s)", project);
ViPRCoreClient client = api(ctx);
List<AssetOption> options = Lists.newArrayList();
List<FileShareRestRep> fileSystems = client.fileSystems().findByProject(project);
for (FileShareRestRep fileShare : fileSystems) {
if (fileShare.getProtection() != null && fileShare.getProtection().getPersonality() == null) {
options.add(new AssetOption(fileShare.getId(), fileShare.getName()));
}
}
AssetOptionsUtils.sortOptionsByLabel(options);
return options;
}
use of com.emc.vipr.client.ViPRCoreClient in project coprhd-controller by CoprHD.
the class FileProvider method getSnapshotFilesystems.
@Asset("fileSnapshotFilesystem")
@AssetDependencies({ "project" })
public List<AssetOption> getSnapshotFilesystems(AssetOptionsContext ctx, URI project) {
ViPRCoreClient client = api(ctx);
Collection<FileShareRestRep> filesystems = client.fileSystems().findByProject(project);
Map<URI, FileVirtualPoolRestRep> pools = getFileVirtualPools(client, filesystems);
return createFilesystemOptions(filesystems, new SnapableFilesystemsPredicate(pools));
}
use of com.emc.vipr.client.ViPRCoreClient in project coprhd-controller by CoprHD.
the class FileProvider method getProtectedFileSystems.
@Asset("protectedRemoteFileSystem")
@AssetDependencies({ "project" })
public List<AssetOption> getProtectedFileSystems(AssetOptionsContext ctx, URI project) {
debug("getting protected remote file system (project=%s)", project);
ViPRCoreClient client = api(ctx);
List<AssetOption> options = Lists.newArrayList();
List<FileShareRestRep> fileSystems = client.fileSystems().findByProject(project);
for (FileShareRestRep fileShare : fileSystems) {
if (fileShare.getProtection() != null && StringUtils.equals(FileShare.PersonalityTypes.SOURCE.toString(), fileShare.getProtection().getPersonality())) {
options.add(new AssetOption(fileShare.getId(), fileShare.getName()));
}
}
AssetOptionsUtils.sortOptionsByLabel(options);
return options;
}
use of com.emc.vipr.client.ViPRCoreClient in project coprhd-controller by CoprHD.
the class FileProvider method getFileSourceVirtualPool.
@Asset("fileSourceVirtualPool")
@AssetDependencies({ "unprotectedFilesystem" })
public List<AssetOption> getFileSourceVirtualPool(AssetOptionsContext ctx, URI fileSystems) {
List<AssetOption> options = Lists.newArrayList();
ViPRCoreClient client = api(ctx);
URI sourceVpoolId = client.fileSystems().get(fileSystems).getVirtualPool().getId();
FileVirtualPoolRestRep sourceVpool = client.fileVpools().get(sourceVpoolId);
options.add(new AssetOption(sourceVpool.getId(), sourceVpool.getName()));
AssetOptionsUtils.sortOptionsByLabel(options);
return options;
}
Aggregations