/* * Copyright (c) 2016 EMC Corporation * All Rights Reserved */ package com.iwave.ext.linux.command.rbd; import java.io.IOException; import org.apache.commons.io.IOUtils; import com.iwave.ext.linux.command.LinuxResultsCommand; public class MapRBDCommand extends LinuxResultsCommand<String> { private String _monitors; private String _user; private String _key; private String _template; public MapRBDCommand(String monitors, String user, String key) { _monitors = monitors; _user = user; _key = key; try { _template = IOUtils.toString(getClass().getResourceAsStream("map.sh")); } catch (IOException e) { } setRunAsRoot(true); } public void setVolume(String pool, String volume, String snapshot) { String snap = (snapshot == null || snapshot.isEmpty()) ? "-" : snapshot; String cmd = String.format(_template, _monitors, _user, _key, pool, volume, snap); setCommand(cmd); } @Override public void parseOutput() { String stdout = getOutput().getStdout(); results = stdout.trim(); } }