Documentation
¶
Index ¶
- Variables
- func ConfigPath(file string) string
- func IsSnapshot(name string) bool
- func SaveConfig(c *Config) error
- func ServerCertPath(name string) string
- func WebsocketDial(dialer websocket.Dialer, url string) (*websocket.Conn, error)
- type Client
- func (c *Client) Action(name string, action shared.ContainerAction, timeout int, force bool) (*Response, error)
- func (c *Client) AddMyCertToServer(pwd string) error
- func (c *Client) AmTrusted() bool
- func (c *Client) ApplyProfile(container, profile string) (*Response, error)
- func (c *Client) CertificateAdd(cert *x509.Certificate, name string) error
- func (c *Client) CertificateList() (map[string]string, error)
- func (c *Client) CertificateRemove(fingerprint string) error
- func (c *Client) ContainerDeviceAdd(container, devname, devtype string, props []string) (*Response, error)
- func (c *Client) ContainerDeviceDelete(container, devname string) (*Response, error)
- func (c *Client) ContainerListDevices(container string) ([]string, error)
- func (c *Client) ContainerStatus(name string) (*shared.ContainerState, error)
- func (c *Client) CopyImage(image string, dest *Client, copy_aliases bool, aliases []string, public bool) error
- func (c *Client) Delete(name string) (*Response, error)
- func (c *Client) DeleteAlias(alias string) error
- func (c *Client) DeleteImage(image string) error
- func (c *Client) Exec(name string, cmd []string, env map[string]string, stdin *os.File, ...) (int, error)
- func (c *Client) ExportImage(image string, target string) (*Response, string, error)
- func (c *Client) Finger() error
- func (c *Client) GetAlias(alias string) string
- func (c *Client) GetContainerConfig(container string) ([]string, error)
- func (c *Client) GetImageInfo(image string) (*shared.ImageInfo, error)
- func (c *Client) GetProfileConfig(profile string) (map[string]string, error)
- func (c *Client) GetServerConfig() (*Response, error)
- func (c *Client) Init(name string, imgremote string, image string, profiles *[]string, ephem bool) (*Response, error)
- func (c *Client) IsAlias(alias string) (bool, error)
- func (c *Client) ListAliases() ([]string, error)
- func (c *Client) ListContainers() ([]string, error)
- func (c *Client) ListImages() ([]shared.ImageInfo, error)
- func (c *Client) ListProfiles() ([]string, error)
- func (c *Client) ListSnapshots(container string) ([]string, error)
- func (c *Client) LocalCopy(source string, name string, config map[string]string, profiles []string) (*Response, error)
- func (c *Client) MigrateFrom(name string, operation string, secrets map[string]string, ...) (*Response, error)
- func (c *Client) MigrateTo(container string) (*Response, error)
- func (c *Client) PostAlias(alias string, desc string, target string) error
- func (c *Client) PostImage(path string, properties []string, public bool, aliases []string) (string, error)
- func (c *Client) ProfileConfig(name string) (*shared.ProfileConfig, error)
- func (c *Client) ProfileCopy(name, newname string, dest *Client) error
- func (c *Client) ProfileCreate(p string) error
- func (c *Client) ProfileDelete(p string) error
- func (c *Client) ProfileDeviceAdd(profile, devname, devtype string, props []string) (*Response, error)
- func (c *Client) ProfileDeviceDelete(profile, devname string) (*Response, error)
- func (c *Client) ProfileListDevices(profile string) ([]string, error)
- func (c *Client) PullFile(container string, p string) (int, int, os.FileMode, io.ReadCloser, error)
- func (c *Client) PushFile(container string, p string, gid int, uid int, mode os.FileMode, ...) error
- func (c *Client) PutImageProperties(name string, p shared.ImageProperties) error
- func (c *Client) PutProfile(name string, profile shared.ProfileConfig) error
- func (c *Client) Rename(name string, newName string) (*Response, error)
- func (c *Client) SetContainerConfig(container, key, value string) (*Response, error)
- func (c *Client) SetProfileConfigItem(profile, key, value string) error
- func (c *Client) SetRemotePwd(password string) (*Response, error)
- func (c *Client) Snapshot(container string, snapshotName string, stateful bool) (*Response, error)
- func (c *Client) UserAuthServerCert(name string) error
- func (c *Client) WaitFor(waitURL string) (*shared.Operation, error)
- func (c *Client) WaitForSuccess(waitURL string) error
- type Config
- type RemoteConfig
- type Response
- type ResponseType
Constants ¶
This section is empty.
Variables ¶
var ConfigDir = "$HOME/.config/lxc"
var ( // LXDErrors are special errors; the client library hoists error codes // to these errors internally so that user code can compare against // them. We probably shouldn't hoist BadRequest or InternalError, since // LXD passes an error string along which is more informative than // whatever static error message we would put here. LXDErrors = map[int]error{ http.StatusNotFound: fmt.Errorf("not found"), } )
Functions ¶
func ConfigPath ¶
func IsSnapshot ¶
func SaveConfig ¶
SaveConfig writes the provided configuration to the config file.
func ServerCertPath ¶
Types ¶
type Client ¶
type Client struct { Remote *RemoteConfig BaseURL string BaseWSURL string // contains filtered or unexported fields }
Client can talk to a LXD daemon.
func (*Client) AddMyCertToServer ¶
func (*Client) ApplyProfile ¶
func (*Client) CertificateAdd ¶
func (c *Client) CertificateAdd(cert *x509.Certificate, name string) error
func (*Client) CertificateRemove ¶
func (*Client) ContainerDeviceAdd ¶
func (*Client) ContainerDeviceDelete ¶
func (*Client) ContainerListDevices ¶
func (*Client) ContainerStatus ¶
func (c *Client) ContainerStatus(name string) (*shared.ContainerState, error)
func (*Client) DeleteAlias ¶
func (*Client) DeleteImage ¶
func (*Client) ExportImage ¶
func (*Client) GetContainerConfig ¶
* return string array representing a container's full configuration
func (*Client) GetImageInfo ¶
func (*Client) GetProfileConfig ¶
func (*Client) GetServerConfig ¶
func (*Client) Init ¶
func (c *Client) Init(name string, imgremote string, image string, profiles *[]string, ephem bool) (*Response, error)
Init creates a container from either a fingerprint or an alias; you must provide at least one.
func (*Client) ListAliases ¶
func (*Client) ListContainers ¶
func (*Client) ListProfiles ¶
func (*Client) MigrateFrom ¶
func (*Client) ProfileConfig ¶
func (c *Client) ProfileConfig(name string) (*shared.ProfileConfig, error)
func (*Client) ProfileCreate ¶
func (*Client) ProfileDelete ¶
func (*Client) ProfileDeviceAdd ¶
func (*Client) ProfileDeviceDelete ¶
func (*Client) ProfileListDevices ¶
func (*Client) PutImageProperties ¶
func (c *Client) PutImageProperties(name string, p shared.ImageProperties) error
func (*Client) PutProfile ¶
func (c *Client) PutProfile(name string, profile shared.ProfileConfig) error
func (*Client) SetContainerConfig ¶
func (*Client) SetProfileConfigItem ¶
func (*Client) UserAuthServerCert ¶
func (*Client) WaitForSuccess ¶
type Config ¶
type Config struct { // DefaultRemote holds the remote daemon name from the Remotes map // that the client should communicate with by default. // If empty it defaults to "local". DefaultRemote string `yaml:"default-remote"` // Remotes defines a map of remote daemon names to the details for // communication with the named daemon. // The implicit "local" remote is always available and communicates // with the local daemon over a unix socket. Remotes map[string]RemoteConfig `yaml:"remotes"` // ListenAddr defines an alternative address for the local daemon // to listen on. If empty, the daemon will listen only on the local // unix socket address. ListenAddr string `yaml:"listen-addr"` }
Config holds settings to be used by a client or daemon.
func LoadConfig ¶
LoadConfig reads the configuration from the config path.
func (*Config) ParseRemote ¶
type RemoteConfig ¶
type RemoteConfig struct {
Addr string `yaml:"addr"`
}
RemoteConfig holds details for communication with a remote daemon.
type Response ¶
type Response struct { Type ResponseType `json:"type"` /* Valid only for Sync responses */ Status string `json:"status"` StatusCode int `json:"status_code"` /* Valid only for Async responses */ Operation string `json:"operation"` Resources map[string][]string `json:"resources"` /* Valid only for Error responses */ Code int `json:"error_code"` Error string `json:"error"` /* Valid for Sync and Error responses */ Metadata json.RawMessage `json:"metadata"` }
func HoistResponse ¶
func HoistResponse(r *http.Response, rtype ResponseType) (*Response, error)
HoistResponse hoists a regular http response into a response of type rtype or returns a golang error.
func ParseResponse ¶
ParseResponse parses a lxd style response out of an http.Response. Note that this does _not_ automatically convert error responses to golang errors. To do that, use ParseError. Internal client library uses should probably use HoistResponse, unless they are interested in accessing the underlying Error response (e.g. to inspect the error code).
type ResponseType ¶
type ResponseType string
const ( Sync ResponseType = "sync" Async ResponseType = "async" Error ResponseType = "error" )
Directories
¶
Path | Synopsis |
---|---|
dist
|
|
src/code.google.com/p/go-uuid/uuid
The uuid package generates and inspects UUIDs.
|
The uuid package generates and inspects UUIDs. |
src/code.google.com/p/goprotobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
|
Package proto converts data structures to and from the wire format of protocol buffers. |
src/code.google.com/p/goprotobuf/protoc-gen-go/descriptor
Package google_protobuf is a generated protocol buffer package.
|
Package google_protobuf is a generated protocol buffer package. |
src/code.google.com/p/goprotobuf/protoc-gen-go/generator
The code generator for the plugin for the Google protocol buffer compiler.
|
The code generator for the plugin for the Google protocol buffer compiler. |
src/code.google.com/p/goprotobuf/protoc-gen-go/plugin
Package google_protobuf_compiler is a generated protocol buffer package.
|
Package google_protobuf_compiler is a generated protocol buffer package. |
src/github.com/dustinkirkland/golang-petname
Package petname is a library for generating human-readable, random names for objects (e.g.
|
Package petname is a library for generating human-readable, random names for objects (e.g. |
src/github.com/gorilla/context
Package context stores values shared during a request lifetime.
|
Package context stores values shared during a request lifetime. |
src/github.com/gorilla/mux
Package gorilla/mux implements a request router and dispatcher.
|
Package gorilla/mux implements a request router and dispatcher. |
src/github.com/gorilla/websocket
Package websocket implements the WebSocket protocol defined in RFC 6455.
|
Package websocket implements the WebSocket protocol defined in RFC 6455. |
src/github.com/gorilla/websocket/examples/autobahn
Command server is a test server for the Autobahn WebSockets Test Suite.
|
Command server is a test server for the Autobahn WebSockets Test Suite. |
src/github.com/mattn/go-sqlite3
Package sqlite3 provides interface to SQLite3 databases.
|
Package sqlite3 provides interface to SQLite3 databases. |
src/github.com/olekukonko/tablewriter
Create & Generate text based table
|
Create & Generate text based table |
src/golang.org/x/crypto/bcrypt
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
|
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm. |
src/golang.org/x/crypto/blowfish
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
|
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. |
src/golang.org/x/crypto/bn256
Package bn256 implements a particular bilinear group at the 128-bit security level.
|
Package bn256 implements a particular bilinear group at the 128-bit security level. |
src/golang.org/x/crypto/cast5
Package cast5 implements CAST5, as defined in RFC 2144.
|
Package cast5 implements CAST5, as defined in RFC 2144. |
src/golang.org/x/crypto/curve25519
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
|
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519. |
src/golang.org/x/crypto/hkdf
Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.
|
Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869. |
src/golang.org/x/crypto/md4
Package md4 implements the MD4 hash algorithm as defined in RFC 1320.
|
Package md4 implements the MD4 hash algorithm as defined in RFC 1320. |
src/golang.org/x/crypto/nacl/box
Package box authenticates and encrypts messages using public-key cryptography.
|
Package box authenticates and encrypts messages using public-key cryptography. |
src/golang.org/x/crypto/nacl/secretbox
Package secretbox encrypts and authenticates small messages.
|
Package secretbox encrypts and authenticates small messages. |
src/golang.org/x/crypto/ocsp
Package ocsp parses OCSP responses as specified in RFC 2560.
|
Package ocsp parses OCSP responses as specified in RFC 2560. |
src/golang.org/x/crypto/openpgp
Package openpgp implements high level operations on OpenPGP messages.
|
Package openpgp implements high level operations on OpenPGP messages. |
src/golang.org/x/crypto/openpgp/armor
Package armor implements OpenPGP ASCII Armor, see RFC 4880.
|
Package armor implements OpenPGP ASCII Armor, see RFC 4880. |
src/golang.org/x/crypto/openpgp/clearsign
Package clearsign generates and processes OpenPGP, clear-signed data.
|
Package clearsign generates and processes OpenPGP, clear-signed data. |
src/golang.org/x/crypto/openpgp/elgamal
Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.
|
Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v. |
src/golang.org/x/crypto/openpgp/errors
Package errors contains common error types for the OpenPGP packages.
|
Package errors contains common error types for the OpenPGP packages. |
src/golang.org/x/crypto/openpgp/packet
Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.
|
Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. |
src/golang.org/x/crypto/openpgp/s2k
Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.
|
Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1. |
src/golang.org/x/crypto/otr
Package otr implements the Off The Record protocol as specified in http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html
|
Package otr implements the Off The Record protocol as specified in http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html |
src/golang.org/x/crypto/pbkdf2
Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.
|
Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0. |
src/golang.org/x/crypto/poly1305
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
|
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf. |
src/golang.org/x/crypto/ripemd160
Package ripemd160 implements the RIPEMD-160 hash algorithm.
|
Package ripemd160 implements the RIPEMD-160 hash algorithm. |
src/golang.org/x/crypto/salsa20
Package salsa20 implements the Salsa20 stream cipher as specified in http://cr.yp.to/snuffle/spec.pdf.
|
Package salsa20 implements the Salsa20 stream cipher as specified in http://cr.yp.to/snuffle/spec.pdf. |
src/golang.org/x/crypto/salsa20/salsa
Package salsa provides low-level access to functions in the Salsa family.
|
Package salsa provides low-level access to functions in the Salsa family. |
src/golang.org/x/crypto/scrypt
Package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard Functions" (http://www.tarsnap.com/scrypt/scrypt.pdf).
|
Package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard Functions" (http://www.tarsnap.com/scrypt/scrypt.pdf). |
src/golang.org/x/crypto/sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
|
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. |
src/golang.org/x/crypto/ssh
Package ssh implements an SSH client and server.
|
Package ssh implements an SSH client and server. |
src/golang.org/x/crypto/ssh/agent
Package agent implements a client to an ssh-agent daemon.
|
Package agent implements a client to an ssh-agent daemon. |
src/golang.org/x/crypto/ssh/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
|
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems. |
src/golang.org/x/crypto/ssh/test
This package contains integration tests for the code.google.com/p/go.crypto/ssh package.
|
This package contains integration tests for the code.google.com/p/go.crypto/ssh package. |
src/golang.org/x/crypto/twofish
Package twofish implements Bruce Schneier's Twofish encryption algorithm.
|
Package twofish implements Bruce Schneier's Twofish encryption algorithm. |
src/golang.org/x/crypto/xtea
Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."
|
Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions." |
src/golang.org/x/crypto/xts
Package xts implements the XTS cipher mode as specified in IEEE P1619/D16.
|
Package xts implements the XTS cipher mode as specified in IEEE P1619/D16. |
src/gopkg.in/lxc/go-lxc.v2
Package lxc provides Go Bindings for LXC (Linux Containers) C API.
|
Package lxc provides Go Bindings for LXC (Linux Containers) C API. |
src/gopkg.in/tomb.v2
The tomb package handles clean goroutine tracking and termination.
|
The tomb package handles clean goroutine tracking and termination. |
src/gopkg.in/yaml.v2
Package yaml implements YAML support for the Go language.
|
Package yaml implements YAML support for the Go language. |
internal
|
|
gnuflag
Package flag implements command-line flag parsing in the GNU style.
|
Package flag implements command-line flag parsing in the GNU style. |
This is a FLEXible file which can be used by both client and daemon.
|
This is a FLEXible file which can be used by both client and daemon. |