mistercaste - 2014-08-20

I need to run a script on a Linux VM with a sudoer user (root can't be used per corporate policy and we can't simply SSH as there's no IP yet).
Right now we do it like in the code below:

    // Just a sample script
    String SCRIPT = "#!/bin/bash\nsudo mkdir /test"

    // Authentication properties
    NamePasswordAuthentication namePasswordAuthentication = new NamePasswordAuthentication();
    namePasswordAuthentication.setUsername(username);
    namePasswordAuthentication.setPassword(password);

    // Execution properties
    GuestProgramSpec guestProgramSpec = new GuestProgramSpec();
    guestProgramSpec.setProgramPath(scriptExecutionFolder);
    guestProgramSpec.setArguments(script);

    // Run script on remote host
    GuestOperationsManager guestOperationsManager = serviceInstance.getGuestOperationsManager();
    GuestProcessManager guestProcessManager = guestOperationsManager.getProcessManager(vm);
    long pid = guestProcessManager.startProgramInGuest(namePasswordAuthentication, guestProgramSpec);

Thank you!