func (r *ProtocolLXD) UpdateServer(server api.ServerPut, ETag string) error {
	_, _, err := r.query("PUT", "", server, ETag)
	if err != nil {
		return err
	}
	return nil
}
UpdateServer updates the server status to match the provided Server struct
package lxd
import (
	"fmt"
	"github.com/lxc/lxd/shared"
	"github.com/lxc/lxd/shared/api"
)
func (r *ProtocolLXD) GetServer() (*api.Server, string, error) {
	server := api.Server{}
	etag, err := r.queryStruct("GET", "", nil, "", &server)
	if err != nil {
		return nil, "", err
	}
	if server.Environment.CertificateFingerprint == "" && server.Environment.Certificate != "" {
		var err error
		server.Environment.CertificateFingerprint, err = shared.CertFingerprintStr(server.Environment.Certificate)
		if err != nil {
			return nil, "", err
		}
	}
	if !server.Public && len(server.AuthMethods) == 0 {
		server.AuthMethods = []string{"tls"}
	}
	r.server = &server
	return &server, etag, nil
}