/*
* Copyright (c) 2012-2015 iWave Software LLC
* All Rights Reserved
*/
package com.emc.sa.service.vmware.file.tasks;
import java.net.URI;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import com.emc.sa.service.vipr.tasks.WaitForTask;
import com.emc.storageos.model.file.FileExportUpdateParam;
import com.emc.storageos.model.file.FileShareRestRep;
import com.emc.storageos.model.file.FileSystemExportParam;
import com.emc.vipr.client.Task;
import com.google.common.collect.Lists;
public class AddNfsExportEndpoints extends WaitForTask<FileShareRestRep> {
private URI fileSystemId;
private FileSystemExportParam export;
private Set<String> endpoints;
public AddNfsExportEndpoints(URI fileSystemId, FileSystemExportParam export, Set<String> endpoints) {
this.fileSystemId = fileSystemId;
this.export = export;
this.endpoints = endpoints;
provideDetailArgs(StringUtils.join(endpoints, ", "), export.getMountPoint(), fileSystemId);
}
@Override
protected Task<FileShareRestRep> doExecute() throws Exception {
String protocol = export.getProtocol();
String securityType = export.getSecurityType();
String permissions = export.getPermissions();
String rootMapping = export.getRootUserMapping();
FileExportUpdateParam update = new FileExportUpdateParam();
update.setAdd(Lists.newArrayList(endpoints));
return getClient().fileSystems().updateExport(fileSystemId, protocol, securityType, permissions, rootMapping,
update);
}
}