diff options
Diffstat (limited to 'agent/src/main/java/moe/yuuta/dn42peering/agent/provision/CommandChange.java')
-rw-r--r-- | agent/src/main/java/moe/yuuta/dn42peering/agent/provision/CommandChange.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/CommandChange.java b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/CommandChange.java new file mode 100644 index 0000000..ee60ee4 --- /dev/null +++ b/agent/src/main/java/moe/yuuta/dn42peering/agent/provision/CommandChange.java @@ -0,0 +1,27 @@ +package moe.yuuta.dn42peering.agent.provision; + +import io.vertx.core.Future; +import io.vertx.core.Vertx; +import io.vertx.core.impl.logging.Logger; +import io.vertx.core.impl.logging.LoggerFactory; + +import javax.annotation.Nonnull; +import java.util.Arrays; + +public class CommandChange extends Change { + private final Logger logger = LoggerFactory.getLogger(getClass().getSimpleName()); + @Nonnull + private final String[] commands; + + public CommandChange(@Nonnull String[] commands) { + super(Arrays.toString(commands), null, "exec"); + this.commands = commands; + } + + @Nonnull + @Override + public Future<Void> execute(@Nonnull Vertx vertx) { + logger.info("Executing " + Arrays.toString(commands)); + return AsyncShell.execSucc(vertx, commands); + } +} |