/**
 * This file is part of CloudML [ http://cloudml.org ]
 *
 * Copyright (C) 2012 - SINTEF ICT
 * Contact: Franck Chauvel <franck.chauvel@sintef.no>
 *
 * Module: root
 *
 * CloudML is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of
 * the License, or (at your option) any later version.
 *
 * CloudML is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General
 * Public License along with CloudML. If not, see
 * <http://www.gnu.org/licenses/>.
 */
package org.cloudml.core;

/**
 * Created by Iurii on 4/8/2015.
 */
public class DirectCommand extends WithResources {

    private String name = "";
    private String command = "";
    private VMInstance server = null;
    private VMInstance client = null;
    private String clientIP = "";
    private VMInstance additionParameter = null;

    public DirectCommand(String name, String command, VMInstance server, VMInstance client){
        this.name = server.getName() + "_to_" + client.toString() + "_" + name; // TODO: add uniqunes
        this.command = command;
        this.server = server;
        this.client = client;
    }

    public DirectCommand(String name, String command, VMInstance server, VMInstance client, VMInstance addition){
        this.name = server.getName() + "_to_" + client.toString() + "_" + name; // TODO: add uniqunes
        this.command = command;
        this.server = server;
        this.client = client;
        this.additionParameter = addition;
    }

    public VMInstance getClient() {
        return client;
    }

    public String getClientIP() {
        return clientIP;
    }

    public void setClientIP(String clientIP) {
        this.clientIP = clientIP;
    }

    public VMInstance getServer() {
        return server;
    }

    public String getCommand() {
        return command;
    }

    public VMInstance getAdditionParameter() {
        return additionParameter;
    }
}
