Libvirt-Go 远程连接指南:Golang 示例
以下是一个使用 libvirt-go 远程连接的 Golang 示例:
package main
import (
"fmt"
"github.com/libvirt/libvirt-go"
)
func main() {
conn, err := libvirt.NewConnect('qemu+ssh://username@remote-host/system')
if err != nil {
panic(err)
}
defer conn.Close()
domains, err := conn.ListAllDomains(libvirt.CONNECT_LIST_DOMAINS_ACTIVE)
if err != nil {
panic(err)
}
fmt.Printf('Active domains:\n')
for _, domain := range domains {
name, err := domain.GetName()
if err != nil {
panic(err)
}
fmt.Printf('- %s\n', name)
}
}
在上面的代码中,我们使用libvirt.NewConnect()函数建立一个到远程主机的连接。我们使用qemu+ssh协议指定了远程主机的用户名和主机名。在这种情况下,我们假设远程主机上已经安装了 libvirt 并正在运行。
然后,我们使用conn.ListAllDomains()函数列出了远程主机上所有活动的域名,并打印出它们的名称。
请注意,我们在代码的结尾使用了defer conn.Close()语句,以确保在程序结束时关闭连接。
原文地址: https://www.cveoy.top/t/topic/fYeh 著作权归作者所有。请勿转载和采集!