我使用rbvmomi
gem来自动化ruby中的vsphere。我使用vmware API StartProgramInGuest来运行命令。这些命令在一个文本文件中给出,该文件作为参数传递给GuestProgramSpec。文件中的一个命令需要确认。由于命令是在文本文件中传递的,因此我不确定如何传递"是"对命令。任何帮助,将不胜感激。
gom = vim.serviceContent.guestOperationsManager
guest_auth = RbVmomi::VIM::NamePasswordAuthentication(
:interactiveSession => false,
:username => "user",
:password => "pass"
)
prog_spec = RbVmomi::VIM::GuestProgramSpec(
:programPath =>"/opt/system/bin/ssh",
:arguments => "-s /opt/system/etc/cli/default/main.par -f /home/admin/local.txt"
)
id = gom.processManager.StartProgramInGuest(
:vm => vm, :auth => guest_auth, :spec => prog_spec
)
local.txt的内容:
show version > /home/admin/veriosn-1.txt
application upgrade appbundle.tar.gz local
show version > /home/admin/version-2.txt