libvirt.org/go/libvirtxml@v1.10003.0/doc.go (about) 1 /* 2 * This file is part of the libvirt-go-xml-module project 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a copy 5 * of this software and associated documentation files (the "Software"), to deal 6 * in the Software without restriction, including without limitation the rights 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 * copies of the Software, and to permit persons to whom the Software is 9 * furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included in 12 * all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 * THE SOFTWARE. 21 * 22 * Copyright (C) 2017 Red Hat, Inc. 23 * 24 */ 25 26 // Package libvirt-go-xml-module defines structs for parsing libvirt XML schemas 27 // 28 // The libvirt API uses XML schemas/documents to describe the configuration 29 // of many of its managed objects. Thus when using the libvirt-go package, 30 // it is often neccessary to either parse or format XML documents. This 31 // package defines a set of Go structs which have been annotated for use 32 // with the encoding/xml API to manage libvirt XML documents. 33 // 34 // Example creating a domain XML document from configuration: 35 // 36 // package main 37 // 38 // import ( 39 // "libvirt.org/go/libvirtxml" 40 // ) 41 // 42 // func main() { 43 // domcfg := &libvirtxml.Domain{Type: "kvm", Name: "demo", 44 // UUID: "8f99e332-06c4-463a-9099-330fb244e1b3", 45 // ....} 46 // xmldoc, err := domcfg.Marshal() 47 // } 48 // 49 // Example parsing a domainXML document, in combination with libvirt-go 50 // 51 // package main 52 // 53 // import ( 54 // "libvirt.org/go/libvirt" 55 // "libvirt.org/go/libvirtxml" 56 // "fmt" 57 // ) 58 // 59 // func main() { 60 // conn, err := libvirt.NewConnect("qemu:///system") 61 // dom, err := conn.LookupDomainByName("demo") 62 // xmldoc, err := dom.GetXMLDesc(0) 63 // 64 // domcfg := &libvirtxml.Domain{} 65 // err = domcfg.Unmarshal(xmldoc) 66 // 67 // fmt.Printf("Virt type %s\n", domcfg.Type) 68 // } 69 package libvirtxml