From 194882214aa559c83d81745e0fe3e4f10cf43063 Mon Sep 17 00:00:00 2001 From: sophia Date: Tue, 31 May 2022 15:47:47 -0500 Subject: [PATCH] Add machine readable bool endpoint to terminal ui --- internal/runner/ui.go | 4 ++++ internal/runner/ui_multi.go | 9 +++++++++ lib/vagrant/ui/remote.rb | 2 +- plugins/commands/serve/client/terminal.rb | 4 ++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/internal/runner/ui.go b/internal/runner/ui.go index f03ce4eb9..8ca8ca421 100644 --- a/internal/runner/ui.go +++ b/internal/runner/ui.go @@ -42,6 +42,10 @@ func (u *runnerUI) Interactive() bool { return false } +func (u *runnerUI) MachineReadable() bool { + return false +} + func (u *runnerUI) ClearLine() { // NO-OP - noninteractive } diff --git a/internal/runner/ui_multi.go b/internal/runner/ui_multi.go index aacef5732..7f7c704da 100644 --- a/internal/runner/ui_multi.go +++ b/internal/runner/ui_multi.go @@ -52,6 +52,15 @@ func (u *multiUI) Interactive() bool { return false } +func (u *multiUI) MachineReadable() bool { + for _, u := range u.UIs { + if u.MachineReadable() { + return true + } + } + return false +} + func (u *multiUI) Output(msg string, raw ...interface{}) { for _, u := range u.UIs { u.Output(msg, raw...) diff --git a/lib/vagrant/ui/remote.rb b/lib/vagrant/ui/remote.rb index 893ff03a7..398ad6453 100644 --- a/lib/vagrant/ui/remote.rb +++ b/lib/vagrant/ui/remote.rb @@ -44,7 +44,7 @@ module Vagrant end def machine(type, *data) - if client.is_interactive + if !client.is_machine_readable @logger.info("Machine: #{type} #{data.inspect}") return end diff --git a/plugins/commands/serve/client/terminal.rb b/plugins/commands/serve/client/terminal.rb index ded1ab058..2e8646298 100644 --- a/plugins/commands/serve/client/terminal.rb +++ b/plugins/commands/serve/client/terminal.rb @@ -22,6 +22,10 @@ module VagrantPlugins client.is_interactive(Empty.new).interactive end + def is_machine_readable + client.is_machine_readable(Empty.new).machine_readable + end + def input(prompt, **opts) event_resp = client.events( [