[lxc-devel] [lxd/master] Add container snapshot expiry

monstermunchkin on Github lxc-bot at linuxcontainers.org
Thu Jan 17 13:23:59 UTC 2019


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 301 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20190117/2553fb20/attachment-0001.bin>
-------------- next part --------------
From d2b4440dd40b3471189ba4332a0a0067a70c0a2e Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Fri, 11 Jan 2019 20:38:36 +0100
Subject: [PATCH 01/11] *: Rename {Creation,LastUsed}Date to
 {Created,LastUsed}At

This renames {Creation,LastUsed}Date to {Created,LastUsed}At for the
container snapshots struct to line up with the containers struct.

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 lxc/info.go                      | 4 ++--
 lxd/api_internal.go              | 4 ++--
 lxd/container_lxc.go             | 4 ++--
 shared/api/container_snapshot.go | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/lxc/info.go b/lxc/info.go
index 7baaa93485..1931c617b8 100644
--- a/lxc/info.go
+++ b/lxc/info.go
@@ -251,8 +251,8 @@ func (c *cmdInfo) containerInfo(d lxd.ContainerServer, remote config.Remote, nam
 		fields := strings.Split(snap.Name, shared.SnapshotDelimiter)
 		fmt.Printf("  %s", fields[len(fields)-1])
 
-		if shared.TimeIsSet(snap.CreationDate) {
-			fmt.Printf(" ("+i18n.G("taken at %s")+")", snap.CreationDate.UTC().Format(layout))
+		if shared.TimeIsSet(snap.CreatedAt) {
+			fmt.Printf(" ("+i18n.G("taken at %s")+")", snap.CreatedAt.UTC().Format(layout))
 		}
 
 		if snap.Stateful {
diff --git a/lxd/api_internal.go b/lxd/api_internal.go
index af546c6563..7c982ab29d 100644
--- a/lxd/api_internal.go
+++ b/lxd/api_internal.go
@@ -895,11 +895,11 @@ func internalImport(d *Daemon, r *http.Request) Response {
 			Architecture: arch,
 			BaseImage:    baseImage,
 			Config:       snap.Config,
-			CreationDate: snap.CreationDate,
+			CreationDate: snap.CreatedAt,
 			Ctype:        db.CTypeSnapshot,
 			Devices:      snap.Devices,
 			Ephemeral:    snap.Ephemeral,
-			LastUsedDate: snap.LastUsedDate,
+			LastUsedDate: snap.LastUsedAt,
 			Name:         snap.Name,
 			Profiles:     snap.Profiles,
 			Stateful:     snap.Stateful,
diff --git a/lxd/container_lxc.go b/lxd/container_lxc.go
index 6440c69411..c8252e97e1 100644
--- a/lxd/container_lxc.go
+++ b/lxd/container_lxc.go
@@ -3081,12 +3081,12 @@ func (c *containerLXC) Render() (interface{}, interface{}, error) {
 		return &api.ContainerSnapshot{
 			Architecture:    architectureName,
 			Config:          c.localConfig,
-			CreationDate:    c.creationDate,
+			CreatedAt:       c.creationDate,
 			Devices:         c.localDevices,
 			Ephemeral:       c.ephemeral,
 			ExpandedConfig:  c.expandedConfig,
 			ExpandedDevices: c.expandedDevices,
-			LastUsedDate:    c.lastUsedDate,
+			LastUsedAt:      c.lastUsedDate,
 			Name:            strings.SplitN(c.name, "/", 2)[1],
 			Profiles:        c.profiles,
 			Stateful:        c.stateful,
diff --git a/shared/api/container_snapshot.go b/shared/api/container_snapshot.go
index 4ff42c9a1e..b5adf8199f 100644
--- a/shared/api/container_snapshot.go
+++ b/shared/api/container_snapshot.go
@@ -24,12 +24,12 @@ type ContainerSnapshotPost struct {
 type ContainerSnapshot struct {
 	Architecture    string                       `json:"architecture" yaml:"architecture"`
 	Config          map[string]string            `json:"config" yaml:"config"`
-	CreationDate    time.Time                    `json:"created_at" yaml:"created_at"`
+	CreatedAt       time.Time                    `json:"created_at" yaml:"created_at"`
 	Devices         map[string]map[string]string `json:"devices" yaml:"devices"`
 	Ephemeral       bool                         `json:"ephemeral" yaml:"ephemeral"`
 	ExpandedConfig  map[string]string            `json:"expanded_config" yaml:"expanded_config"`
 	ExpandedDevices map[string]map[string]string `json:"expanded_devices" yaml:"expanded_devices"`
-	LastUsedDate    time.Time                    `json:"last_used_at" yaml:"last_used_at"`
+	LastUsedAt      time.Time                    `json:"last_used_at" yaml:"last_used_at"`
 	Name            string                       `json:"name" yaml:"name"`
 	Profiles        []string                     `json:"profiles" yaml:"profiles"`
 	Stateful        bool                         `json:"stateful" yaml:"stateful"`

From 67fdaaa39764e737aabeec02a30c36fb79998e39 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Fri, 11 Jan 2019 20:39:16 +0100
Subject: [PATCH 02/11] api: Add snapshot_expiry extension

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 shared/version/api.go | 1 +
 1 file changed, 1 insertion(+)

diff --git a/shared/version/api.go b/shared/version/api.go
index 429133dbc2..00c1645808 100644
--- a/shared/version/api.go
+++ b/shared/version/api.go
@@ -136,6 +136,7 @@ var APIExtensions = []string{
 	"clustering_server_address",
 	"clustering_image_replication",
 	"container_protection_shift",
+	"snapshot_expiry",
 }
 
 // APIExtensionsCount returns the number of available API extensions.

From a6ce817030e2dc11629bcbd5ca56ad93fc99c6a5 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Thu, 10 Jan 2019 15:30:30 +0100
Subject: [PATCH 03/11] lxd/db: Add expiry date to container

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 lxd/db/cluster/schema.go    |  3 ++-
 lxd/db/cluster/update.go    |  6 ++++++
 lxd/db/containers.go        | 15 ++++++++++++---
 lxd/db/containers.mapper.go | 22 ++++++++++++----------
 lxd/db/operations.go        |  3 +++
 5 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/lxd/db/cluster/schema.go b/lxd/db/cluster/schema.go
index 31f9c9f648..5f48acbd2b 100644
--- a/lxd/db/cluster/schema.go
+++ b/lxd/db/cluster/schema.go
@@ -32,6 +32,7 @@ CREATE TABLE "containers" (
     last_use_date DATETIME,
     description TEXT,
     project_id INTEGER NOT NULL,
+    expiry_date DATETIME,
     UNIQUE (project_id, name),
     FOREIGN KEY (node_id) REFERENCES nodes (id) ON DELETE CASCADE,
     FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE
@@ -404,5 +405,5 @@ CREATE TABLE storage_volumes_config (
     FOREIGN KEY (storage_volume_id) REFERENCES storage_volumes (id) ON DELETE CASCADE
 );
 
-INSERT INTO schema (version, updated_at) VALUES (13, strftime("%s"))
+INSERT INTO schema (version, updated_at) VALUES (14, strftime("%s"))
 `
diff --git a/lxd/db/cluster/update.go b/lxd/db/cluster/update.go
index 919ef90a00..5b730e7c56 100644
--- a/lxd/db/cluster/update.go
+++ b/lxd/db/cluster/update.go
@@ -46,6 +46,12 @@ var updates = map[int]schema.Update{
 	11: updateFromV10,
 	12: updateFromV11,
 	13: updateFromV12,
+	14: updateFromV13,
+}
+
+func updateFromV13(tx *sql.Tx) error {
+	_, err := tx.Exec("ALTER TABLE containers ADD COLUMN expiry_date DATETIME;")
+	return err
 }
 
 func updateFromV12(tx *sql.Tx) error {
diff --git a/lxd/db/containers.go b/lxd/db/containers.go
index 914c75ee8f..b657739645 100644
--- a/lxd/db/containers.go
+++ b/lxd/db/containers.go
@@ -77,6 +77,7 @@ type Container struct {
 	Config       map[string]string
 	Devices      map[string]map[string]string
 	Profiles     []string
+	ExpiryDate   time.Time
 }
 
 // ContainerFilter can be used to filter results yielded by ContainerList.
@@ -105,6 +106,7 @@ func ContainerToArgs(container *Container) ContainerArgs {
 		Config:       container.Config,
 		Devices:      container.Devices,
 		Profiles:     container.Profiles,
+		ExpiryDate:   container.ExpiryDate,
 	}
 
 	if args.Devices == nil {
@@ -136,6 +138,7 @@ type ContainerArgs struct {
 	Name         string
 	Profiles     []string
 	Stateful     bool
+	ExpiryDate   time.Time
 }
 
 // ContainerBackupArgs is a value object holding all db-related details
@@ -803,8 +806,9 @@ func (c *Cluster) ContainerSetState(id int, state string) error {
 
 // ContainerUpdate updates the description, architecture and ephemeral flag of
 // the container with the given ID.
-func ContainerUpdate(tx *sql.Tx, id int, description string, architecture int, ephemeral bool) error {
-	str := fmt.Sprintf("UPDATE containers SET description=?, architecture=?, ephemeral=? WHERE id=?")
+func ContainerUpdate(tx *sql.Tx, id int, description string, architecture int, ephemeral bool,
+	expiryDate time.Time) error {
+	str := fmt.Sprintf("UPDATE containers SET description=?, architecture=?, ephemeral=?, expiry_date=? WHERE id=?")
 	stmt, err := tx.Prepare(str)
 	if err != nil {
 		return err
@@ -816,7 +820,12 @@ func ContainerUpdate(tx *sql.Tx, id int, description string, architecture int, e
 		ephemeralInt = 1
 	}
 
-	if _, err := stmt.Exec(description, architecture, ephemeralInt, id); err != nil {
+	if expiryDate.IsZero() {
+		_, err = stmt.Exec(description, architecture, ephemeralInt, "", id)
+	} else {
+		_, err = stmt.Exec(description, architecture, ephemeralInt, expiryDate, id)
+	}
+	if err != nil {
 		return err
 	}
 
diff --git a/lxd/db/containers.mapper.go b/lxd/db/containers.mapper.go
index 1c81094d86..c48352a89b 100644
--- a/lxd/db/containers.mapper.go
+++ b/lxd/db/containers.mapper.go
@@ -14,43 +14,43 @@ import (
 var _ = api.ServerEnvironment{}
 
 var containerObjects = cluster.RegisterStmt(`
-SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, '')
+SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, ''), containers.expiry_date
   FROM containers JOIN projects ON project_id = projects.id JOIN nodes ON node_id = nodes.id
   ORDER BY projects.id, containers.name
 `)
 
 var containerObjectsByType = cluster.RegisterStmt(`
-SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, '')
+SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, ''), containers.expiry_date
   FROM containers JOIN projects ON project_id = projects.id JOIN nodes ON node_id = nodes.id
   WHERE containers.type = ? ORDER BY projects.id, containers.name
 `)
 
 var containerObjectsByProjectAndType = cluster.RegisterStmt(`
-SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, '')
+SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, ''), containers.expiry_date
   FROM containers JOIN projects ON project_id = projects.id JOIN nodes ON node_id = nodes.id
   WHERE project = ? AND containers.type = ? ORDER BY projects.id, containers.name
 `)
 
 var containerObjectsByNodeAndType = cluster.RegisterStmt(`
-SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, '')
+SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, ''), containers.expiry_date
   FROM containers JOIN projects ON project_id = projects.id JOIN nodes ON node_id = nodes.id
   WHERE node = ? AND containers.type = ? ORDER BY projects.id, containers.name
 `)
 
 var containerObjectsByProjectAndNodeAndType = cluster.RegisterStmt(`
-SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, '')
+SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, ''), containers.expiry_date
   FROM containers JOIN projects ON project_id = projects.id JOIN nodes ON node_id = nodes.id
   WHERE project = ? AND node = ? AND containers.type = ? ORDER BY projects.id, containers.name
 `)
 
 var containerObjectsByProjectAndName = cluster.RegisterStmt(`
-SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, '')
+SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, ''), containers.expiry_date
   FROM containers JOIN projects ON project_id = projects.id JOIN nodes ON node_id = nodes.id
   WHERE project = ? AND containers.name = ? ORDER BY projects.id, containers.name
 `)
 
 var containerObjectsByProjectAndNameAndType = cluster.RegisterStmt(`
-SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, '')
+SELECT containers.id, projects.name AS project, containers.name, nodes.name AS node, containers.type, containers.architecture, containers.ephemeral, containers.creation_date, containers.stateful, containers.last_use_date, coalesce(containers.description, ''), containers.expiry_date
   FROM containers JOIN projects ON project_id = projects.id JOIN nodes ON node_id = nodes.id
   WHERE project = ? AND containers.name = ? AND containers.type = ? ORDER BY projects.id, containers.name
 `)
@@ -121,8 +121,8 @@ SELECT containers.id FROM containers JOIN projects ON project_id = projects.id J
 `)
 
 var containerCreate = cluster.RegisterStmt(`
-INSERT INTO containers (project_id, name, node_id, type, architecture, ephemeral, creation_date, stateful, last_use_date, description)
-  VALUES ((SELECT id FROM projects WHERE name = ?), ?, (SELECT id FROM nodes WHERE name = ?), ?, ?, ?, ?, ?, ?, ?)
+INSERT INTO containers (project_id, name, node_id, type, architecture, ephemeral, creation_date, stateful, last_use_date, description, expiry_date)
+  VALUES ((SELECT id FROM projects WHERE name = ?), ?, (SELECT id FROM nodes WHERE name = ?), ?, ?, ?, ?, ?, ?, ?, ?)
 `)
 
 var containerCreateConfigRef = cluster.RegisterStmt(`
@@ -228,6 +228,7 @@ func (c *ClusterTx) ContainerList(filter ContainerFilter) ([]Container, error) {
 			&objects[i].Stateful,
 			&objects[i].LastUseDate,
 			&objects[i].Description,
+			&objects[i].ExpiryDate,
 		}
 	}
 
@@ -375,7 +376,7 @@ func (c *ClusterTx) ContainerCreate(object Container) (int64, error) {
 		return -1, fmt.Errorf("This container already exists")
 	}
 
-	args := make([]interface{}, 10)
+	args := make([]interface{}, 11)
 
 	// Populate the statement arguments.
 	args[0] = object.Project
@@ -388,6 +389,7 @@ func (c *ClusterTx) ContainerCreate(object Container) (int64, error) {
 	args[7] = object.Stateful
 	args[8] = object.LastUseDate
 	args[9] = object.Description
+	args[10] = object.ExpiryDate
 
 	// Prepared statement to use.
 	stmt := c.stmt(containerCreate)
diff --git a/lxd/db/operations.go b/lxd/db/operations.go
index 2b19493edb..048b934514 100644
--- a/lxd/db/operations.go
+++ b/lxd/db/operations.go
@@ -60,6 +60,7 @@ const (
 	OperationLogsExpire
 	OperationInstanceTypesUpdate
 	OperationBackupsExpire
+	OperationSnapshotsExpire
 )
 
 // Description return a human-readable description of the operation type.
@@ -151,6 +152,8 @@ func (t OperationType) Description() string {
 		return "Updating instance types"
 	case OperationBackupsExpire:
 		return "Cleaning up expired backups"
+	case OperationSnapshotsExpire:
+		return "Cleaning up expired snapshots"
 	default:
 		return "Executing operation"
 

From a1f49b6b26382f92c1bae2b192895bb42df8c5af Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 14 Jan 2019 14:45:29 +0100
Subject: [PATCH 04/11] lxd: Support container snapshot expiration

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 lxd/container.go          | 76 ++++++++++++++++++++++++++++++
 lxd/container_lxc.go      | 97 ++++++++++++++++++++++++++-------------
 lxd/container_snapshot.go | 74 +++++++++++++++++++++++++++++
 lxd/containers.go         |  1 +
 lxd/daemon.go             |  3 ++
 5 files changed, 218 insertions(+), 33 deletions(-)

diff --git a/lxd/container.go b/lxd/container.go
index 533f5d7c93..3657e8ed57 100644
--- a/lxd/container.go
+++ b/lxd/container.go
@@ -635,6 +635,7 @@ type container interface {
 	Profiles() []string
 	InitPID() int
 	State() string
+	ExpiryDate() time.Time
 
 	// Paths
 	Path() string
@@ -1656,6 +1657,81 @@ func autoCreateContainerSnapshots(ctx context.Context, d *Daemon, containers []c
 	return nil
 }
 
+func pruneExpiredContainerSnapshotsTask(d *Daemon) (task.Func, task.Schedule) {
+	f := func(ctx context.Context) {
+		opRun := func(op *operation) error {
+			return pruneExpiredContainerSnapshots(ctx, d)
+		}
+
+		op, err := operationCreate(d.cluster, "", operationClassTask, db.OperationSnapshotsExpire, nil, nil, opRun, nil, nil)
+		if err != nil {
+			logger.Error("Failed to start expired snapshots operation", log.Ctx{"err": err})
+		}
+
+		logger.Info("Pruning expired container snapshots")
+		_, err = op.Run()
+		if err != nil {
+			logger.Error("Failed to expire backups", log.Ctx{"err": err})
+		}
+		logger.Info("Done pruning expired container snapshots")
+	}
+
+	f(context.Background())
+
+	first := true
+	schedule := func() (time.Duration, error) {
+		interval := time.Hour
+
+		if first {
+			first = false
+			return interval, task.ErrSkip
+		}
+
+		return interval, nil
+	}
+
+	return f, schedule
+}
+
+func pruneExpiredContainerSnapshots(ctx context.Context, d *Daemon) error {
+	// Get a list of all containers
+	containers, err := containerLoadFromAllProjects(d.State())
+	if err != nil {
+		return errors.Wrapf(err, "Unabled to load list of containers")
+	}
+
+	for _, c := range containers {
+		if !shared.IsTrue(c.LocalConfig()["snapshots.expire"]) {
+			continue
+		}
+
+		snapshots, err := c.Snapshots()
+		if err != nil {
+			return errors.Wrapf(err, "Failed to retrieve container snapshots of container '%s'",
+				c.Name())
+		}
+
+		for _, snap := range snapshots {
+			expiry := snap.ExpiryDate()
+
+			if expiry.IsZero() {
+				// Snapshot doesn't expire
+				continue
+			}
+
+			// Snapshot has expired
+			if time.Now().Unix()-expiry.Unix() >= 0 {
+				err := snap.Delete()
+				if err != nil {
+					return errors.Wrapf(err, "Failed to delete expired snapshot '%s'", snap.Name())
+				}
+			}
+		}
+	}
+
+	return nil
+}
+
 func containerDetermineNextSnapshotName(d *Daemon, c container, defaultPattern string) (string, error) {
 	var err error
 
diff --git a/lxd/container_lxc.go b/lxd/container_lxc.go
index c8252e97e1..a498e85f13 100644
--- a/lxd/container_lxc.go
+++ b/lxd/container_lxc.go
@@ -520,6 +520,7 @@ func containerLXCInstantiate(s *state.State, args db.ContainerArgs) *containerLX
 		localDevices: args.Devices,
 		stateful:     args.Stateful,
 		node:         args.Node,
+		expiryDate:   args.ExpiryDate,
 	}
 }
 
@@ -560,6 +561,8 @@ type containerLXC struct {
 
 	// Progress tracking
 	op *operation
+
+	expiryDate time.Time
 }
 
 func (c *containerLXC) createOperation(action string, reusable bool, reuse bool) (*lxcContainerOperation, error) {
@@ -3074,11 +3077,11 @@ func (c *containerLXC) Render() (interface{}, interface{}, error) {
 	// Ignore err as the arch string on error is correct (unknown)
 	architectureName, _ := osarch.ArchitectureName(c.architecture)
 
-	// Prepare the ETag
-	etag := []interface{}{c.architecture, c.localConfig, c.localDevices, c.ephemeral, c.profiles}
-
 	if c.IsSnapshot() {
-		return &api.ContainerSnapshot{
+		// Prepare the ETag
+		etag := []interface{}{c.expiryDate}
+
+		ct := api.ContainerSnapshot{
 			Architecture:    architectureName,
 			Config:          c.localConfig,
 			CreatedAt:       c.creationDate,
@@ -3090,36 +3093,42 @@ func (c *containerLXC) Render() (interface{}, interface{}, error) {
 			Name:            strings.SplitN(c.name, "/", 2)[1],
 			Profiles:        c.profiles,
 			Stateful:        c.stateful,
-		}, etag, nil
-	} else {
-		// FIXME: Render shouldn't directly access the go-lxc struct
-		cState, err := c.getLxcState()
-		if err != nil {
-			return nil, nil, errors.Wrap(err, "Get container stated")
 		}
-		statusCode := lxcStatusCode(cState)
-
-		ct := api.Container{
-			ExpandedConfig:  c.expandedConfig,
-			ExpandedDevices: c.expandedDevices,
-			Name:            c.name,
-			Status:          statusCode.String(),
-			StatusCode:      statusCode,
-			Location:        c.node,
-		}
-
-		ct.Description = c.description
-		ct.Architecture = architectureName
-		ct.Config = c.localConfig
-		ct.CreatedAt = c.creationDate
-		ct.Devices = c.localDevices
-		ct.Ephemeral = c.ephemeral
-		ct.LastUsedAt = c.lastUsedDate
-		ct.Profiles = c.profiles
-		ct.Stateful = c.stateful
+		ct.ExpiresAt = &c.expiryDate
 
 		return &ct, etag, nil
 	}
+
+	// Prepare the ETag
+	etag := []interface{}{c.architecture, c.localConfig, c.localDevices, c.ephemeral, c.profiles}
+
+	// FIXME: Render shouldn't directly access the go-lxc struct
+	cState, err := c.getLxcState()
+	if err != nil {
+		return nil, nil, errors.Wrap(err, "Get container stated")
+	}
+	statusCode := lxcStatusCode(cState)
+
+	ct := api.Container{
+		ExpandedConfig:  c.expandedConfig,
+		ExpandedDevices: c.expandedDevices,
+		Name:            c.name,
+		Status:          statusCode.String(),
+		StatusCode:      statusCode,
+		Location:        c.node,
+	}
+
+	ct.Description = c.description
+	ct.Architecture = architectureName
+	ct.Config = c.localConfig
+	ct.CreatedAt = c.creationDate
+	ct.Devices = c.localDevices
+	ct.Ephemeral = c.ephemeral
+	ct.LastUsedAt = c.lastUsedDate
+	ct.Profiles = c.profiles
+	ct.Stateful = c.stateful
+
+	return &ct, etag, nil
 }
 
 func (c *containerLXC) RenderFull() (*api.ContainerFull, interface{}, error) {
@@ -4004,6 +4013,8 @@ func (c *containerLXC) Update(args db.ContainerArgs, userRequested bool) error {
 		return err
 	}
 
+	oldExpiryDate := c.expiryDate
+
 	// Define a function which reverts everything.  Defer this function
 	// so that it doesn't need to be explicitly called in every failing
 	// return path.  Track whether or not we want to undo the changes
@@ -4019,6 +4030,7 @@ func (c *containerLXC) Update(args db.ContainerArgs, userRequested bool) error {
 			c.localConfig = oldLocalConfig
 			c.localDevices = oldLocalDevices
 			c.profiles = oldProfiles
+			c.expiryDate = oldExpiryDate
 			if c.c != nil {
 				c.c.Release()
 				c.c = nil
@@ -4036,6 +4048,7 @@ func (c *containerLXC) Update(args db.ContainerArgs, userRequested bool) error {
 	c.localConfig = args.Config
 	c.localDevices = args.Devices
 	c.profiles = args.Profiles
+	c.expiryDate = args.ExpiryDate
 
 	// Expand the config and refresh the LXC config
 	err = c.expandConfig(nil)
@@ -4887,7 +4900,8 @@ func (c *containerLXC) Update(args db.ContainerArgs, userRequested bool) error {
 			return errors.Wrap(err, "Device add")
 		}
 
-		err = db.ContainerUpdate(tx, c.id, c.description, c.architecture, c.ephemeral)
+		err = db.ContainerUpdate(tx, c.id, c.description, c.architecture, c.ephemeral,
+			c.expiryDate)
 		if err != nil {
 			tx.Rollback()
 			return errors.Wrap(err, "Container update")
@@ -4990,8 +5004,16 @@ func (c *containerLXC) Update(args db.ContainerArgs, userRequested bool) error {
 	// Success, update the closure to mark that the changes should be kept.
 	undoChanges = false
 
-	eventSendLifecycle(c.project, "container-updated",
-		fmt.Sprintf("/1.0/containers/%s", c.name), nil)
+	var endpoint string
+
+	if c.IsSnapshot() {
+		cName, sName, _ := containerGetParentAndSnapshotName(c.name)
+		endpoint = fmt.Sprintf("/1.0/containers/%s/snapshots/%s", cName, sName)
+	} else {
+		endpoint = fmt.Sprintf("/1.0/containers/%s", c.name)
+	}
+
+	eventSendLifecycle(c.project, "container-updated", endpoint, nil)
 
 	return nil
 }
@@ -8751,6 +8773,15 @@ func (c *containerLXC) SetOperation(op *operation) {
 	c.op = op
 }
 
+func (c *containerLXC) ExpiryDate() time.Time {
+	if c.IsSnapshot() {
+		return c.expiryDate
+	}
+
+	// Return zero time if the container is not a snapshot
+	return time.Time{}
+}
+
 func (c *containerLXC) updateProgress(progress string) {
 	if c.op == nil {
 		return
diff --git a/lxd/container_snapshot.go b/lxd/container_snapshot.go
index 0ffffa8077..54a8272f2c 100644
--- a/lxd/container_snapshot.go
+++ b/lxd/container_snapshot.go
@@ -191,11 +191,85 @@ func snapshotHandler(d *Daemon, r *http.Request) Response {
 		return snapshotPost(d, r, sc, containerName)
 	case "DELETE":
 		return snapshotDelete(sc, snapshotName)
+	case "PUT":
+		return snapshotPut(d, r, sc, snapshotName)
 	default:
 		return NotFound(fmt.Errorf("Method '%s' not found", r.Method))
 	}
 }
 
+func snapshotPut(d *Daemon, r *http.Request, sc container, name string) Response {
+	// Validate the ETag
+	etag := []interface{}{sc.ExpiryDate()}
+	err := util.EtagCheck(r, etag)
+	if err != nil {
+		return PreconditionFailed(err)
+	}
+
+	rj := shared.Jmap{}
+
+	err = json.NewDecoder(r.Body).Decode(&rj)
+	if err != nil {
+		return InternalError(err)
+	}
+
+	var do func(op *operation) error
+
+	_, err = rj.GetString("expires_at")
+	if err != nil {
+		// Skip updating the snapshot since the requested key wasn't provided
+		do = func(op *operation) error {
+			return nil
+		}
+	} else {
+		body, err := json.Marshal(rj)
+		if err != nil {
+			return InternalError(err)
+		}
+
+		configRaw := api.ContainerSnapshotPut{}
+
+		err = json.Unmarshal(body, &configRaw)
+		if err != nil {
+			return BadRequest(err)
+		}
+
+		// Update container configuration
+		do = func(op *operation) error {
+			args := db.ContainerArgs{
+				Architecture: sc.Architecture(),
+				Config:       sc.LocalConfig(),
+				Description:  sc.Description(),
+				Devices:      sc.LocalDevices(),
+				Ephemeral:    sc.IsEphemeral(),
+				Profiles:     sc.Profiles(),
+				Project:      sc.Project(),
+				ExpiryDate:   *configRaw.ExpiresAt,
+			}
+
+			err = sc.Update(args, false)
+			if err != nil {
+				return err
+			}
+
+			return nil
+		}
+	}
+
+	opType := db.OperationSnapshotUpdate
+
+	resources := map[string][]string{}
+	resources["containers"] = []string{name}
+
+	op, err := operationCreate(d.cluster, sc.Project(), operationClassTask, opType, resources, nil,
+		do, nil, nil)
+	if err != nil {
+		return InternalError(err)
+	}
+
+	return OperationResponse(op)
+}
+
 func snapshotGet(sc container, name string) Response {
 	render, _, err := sc.Render()
 	if err != nil {
diff --git a/lxd/containers.go b/lxd/containers.go
index f6e68bf36a..271be1afb7 100644
--- a/lxd/containers.go
+++ b/lxd/containers.go
@@ -55,6 +55,7 @@ var containerSnapshotCmd = Command{
 	get:    snapshotHandler,
 	post:   snapshotHandler,
 	delete: snapshotHandler,
+	put:    snapshotHandler,
 }
 
 var containerConsoleCmd = Command{
diff --git a/lxd/daemon.go b/lxd/daemon.go
index 5d37ef43d5..ba71fd023a 100644
--- a/lxd/daemon.go
+++ b/lxd/daemon.go
@@ -821,6 +821,9 @@ func (d *Daemon) Ready() error {
 
 		// Take snapshot of containers (hourly check of configurable cron expression)
 		d.tasks.Add(autoCreateContainerSnapshotsTask(d))
+
+		// Remove expired container snapshots (hourly)
+		d.tasks.Add(pruneExpiredContainerSnapshotsTask(d))
 	}
 
 	// Start all background tasks

From 4576dd424cb7769d40dfea2e20dcf8b7fa3b1895 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 14 Jan 2019 14:48:08 +0100
Subject: [PATCH 05/11] shared: Add option snapshots.expire

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 shared/container.go | 1 +
 1 file changed, 1 insertion(+)

diff --git a/shared/container.go b/shared/container.go
index 266c48fca0..672dc830d4 100644
--- a/shared/container.go
+++ b/shared/container.go
@@ -285,6 +285,7 @@ var KnownContainerConfigKeys = map[string]func(value string) error{
 	},
 	"snapshots.schedule.stopped": IsBool,
 	"snapshots.pattern":          IsAny,
+	"snapshots.expire":           IsBool,
 
 	// Caller is responsible for full validation of any raw.* value
 	"raw.apparmor": IsAny,

From c7d7b1c918aa89c1e9cc0466ea67b49287f0906d Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 14 Jan 2019 14:47:44 +0100
Subject: [PATCH 06/11] shared/api: Support updating container snapshots

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 shared/api/container.go          |  5 +++++
 shared/api/container_snapshot.go | 16 ++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/shared/api/container.go b/shared/api/container.go
index ed41a6e61e..8bbb854ef7 100644
--- a/shared/api/container.go
+++ b/shared/api/container.go
@@ -55,6 +55,11 @@ type ContainerPut struct {
 
 	// API extension: entity_description
 	Description string `json:"description" yaml:"description"`
+
+	// API extension: snapshot_expiry
+	// This field is used for `lxc config show` only, and is only shown for snapshots
+	// since regular containers cannot expire.
+	ExpiresAt *time.Time `json:"expires_at,omitempty" yaml:"expires_at,omitempty"`
 }
 
 // Container represents a LXD container
diff --git a/shared/api/container_snapshot.go b/shared/api/container_snapshot.go
index b5adf8199f..00e2ebdc95 100644
--- a/shared/api/container_snapshot.go
+++ b/shared/api/container_snapshot.go
@@ -20,8 +20,18 @@ type ContainerSnapshotPost struct {
 	Live bool `json:"live,omitempty" yaml:"live,omitempty"`
 }
 
+// ContainerSnapshotPut represents the modifiable fields of a LXD container snapshot
+// API extension: snapshot_expiry
+type ContainerSnapshotPut struct {
+	// Using a pointer here allows us to differentiate between missing key, empty value,
+	// and provided value. This is important when editing the snapshot config.
+	ExpiresAt *time.Time `json:"expires_at" yaml:"expires_at"`
+}
+
 // ContainerSnapshot represents a LXD conainer snapshot
 type ContainerSnapshot struct {
+	ContainerSnapshotPut `yaml:",inline"`
+
 	Architecture    string                       `json:"architecture" yaml:"architecture"`
 	Config          map[string]string            `json:"config" yaml:"config"`
 	CreatedAt       time.Time                    `json:"created_at" yaml:"created_at"`
@@ -34,3 +44,9 @@ type ContainerSnapshot struct {
 	Profiles        []string                     `json:"profiles" yaml:"profiles"`
 	Stateful        bool                         `json:"stateful" yaml:"stateful"`
 }
+
+// Writable converts a full ContainerSnapshot struct into a ContainerSnapshotPut struct
+// (filters read-only fields)
+func (c *ContainerSnapshot) Writable() ContainerSnapshotPut {
+	return c.ContainerSnapshotPut
+}

From b876ba854d82a335a51419552dd38521cfdb5591 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 14 Jan 2019 14:21:21 +0100
Subject: [PATCH 07/11] client: Add UpdateContainerSnapshot

This allows updating container snapshots using the API.

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 client/interfaces.go     |  1 +
 client/lxd_containers.go | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/client/interfaces.go b/client/interfaces.go
index 3addab14ce..79d5be613e 100644
--- a/client/interfaces.go
+++ b/client/interfaces.go
@@ -109,6 +109,7 @@ type ContainerServer interface {
 	RenameContainerSnapshot(containerName string, name string, container api.ContainerSnapshotPost) (op Operation, err error)
 	MigrateContainerSnapshot(containerName string, name string, container api.ContainerSnapshotPost) (op Operation, err error)
 	DeleteContainerSnapshot(containerName string, name string) (op Operation, err error)
+	UpdateContainerSnapshot(containerName string, name string, container api.ContainerSnapshotPut, ETag string) (op Operation, err error)
 
 	GetContainerBackupNames(containerName string) (names []string, err error)
 	GetContainerBackups(containername string) (backups []api.ContainerBackup, err error)
diff --git a/client/lxd_containers.go b/client/lxd_containers.go
index cd90913c66..f708633847 100644
--- a/client/lxd_containers.go
+++ b/client/lxd_containers.go
@@ -1267,6 +1267,22 @@ func (r *ProtocolLXD) DeleteContainerSnapshot(containerName string, name string)
 	return op, nil
 }
 
+// UpdateContainerSnapshot requests that LXD updates the container snapshot
+func (r *ProtocolLXD) UpdateContainerSnapshot(containerName string, name string, container api.ContainerSnapshotPut, ETag string) (Operation, error) {
+	if !r.HasExtension("snapshot_expiry") {
+		return nil, fmt.Errorf("The server is missing the required \"snapshot_expiry\" API extension")
+	}
+
+	// Send the request
+	op, _, err := r.queryOperation("PUT", fmt.Sprintf("/containers/%s/snapshots/%s",
+		url.QueryEscape(containerName), url.QueryEscape(name)), container, ETag)
+	if err != nil {
+		return nil, err
+	}
+
+	return op, nil
+}
+
 // GetContainerState returns a ContainerState entry for the provided container name
 func (r *ProtocolLXD) GetContainerState(name string) (*api.ContainerState, string, error) {
 	state := api.ContainerState{}

From 33d92a56bde1edf740601c020bd960112203fd66 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 14 Jan 2019 14:22:14 +0100
Subject: [PATCH 08/11] lxc: Allow editing container snapshots

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 lxc/config.go | 99 +++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 76 insertions(+), 23 deletions(-)

diff --git a/lxc/config.go b/lxc/config.go
index cdfd4bf921..472a97a638 100644
--- a/lxc/config.go
+++ b/lxc/config.go
@@ -83,7 +83,7 @@ type cmdConfigEdit struct {
 
 func (c *cmdConfigEdit) Command() *cobra.Command {
 	cmd := &cobra.Command{}
-	cmd.Use = i18n.G("edit [<remote>:][<container>]")
+	cmd.Use = i18n.G("edit [<remote>:][<container>[/<snapshot>]]")
 	cmd.Short = i18n.G("Edit container or server configurations as YAML")
 	cmd.Long = cli.FormatSection(i18n.G("Description"), i18n.G(
 		`Edit container or server configurations as YAML`))
@@ -137,6 +137,9 @@ func (c *cmdConfigEdit) Run(cmd *cobra.Command, args []string) error {
 
 	resource := resources[0]
 
+	fields := strings.SplitN(resource.name, "/", 2)
+	isSnapshot := len(fields) == 2
+
 	// Edit the config
 	if resource.name != "" {
 		// If stdin isn't a terminal, read text from it
@@ -146,30 +149,65 @@ func (c *cmdConfigEdit) Run(cmd *cobra.Command, args []string) error {
 				return err
 			}
 
-			newdata := api.ContainerPut{}
-			err = yaml.Unmarshal(contents, &newdata)
+			var op lxd.Operation
+
+			if isSnapshot {
+				newdata := api.ContainerSnapshotPut{}
+				err = yaml.Unmarshal(contents, &newdata)
+				if err != nil {
+					return err
+				}
+
+				op, err = resource.server.UpdateContainerSnapshot(fields[0], fields[1], newdata, "")
+				if err != nil {
+					return err
+				}
+			} else {
+				newdata := api.ContainerPut{}
+				err = yaml.Unmarshal(contents, &newdata)
+				if err != nil {
+					return err
+				}
+
+				op, err = resource.server.UpdateContainer(resource.name, newdata, "")
+				if err != nil {
+					return err
+				}
+			}
+
+			return op.Wait()
+		}
+
+		var data []byte
+		var etag string
+
+		// Extract the current value
+		if isSnapshot {
+			var container *api.ContainerSnapshot
+
+			container, etag, err = resource.server.GetContainerSnapshot(fields[0], fields[1])
 			if err != nil {
 				return err
 			}
 
-			op, err := resource.server.UpdateContainer(resource.name, newdata, "")
+			brief := container.Writable()
+			data, err = yaml.Marshal(&brief)
 			if err != nil {
 				return err
 			}
+		} else {
+			var container *api.Container
 
-			return op.Wait()
-		}
-
-		// Extract the current value
-		container, etag, err := resource.server.GetContainer(resource.name)
-		if err != nil {
-			return err
-		}
+			container, etag, err = resource.server.GetContainer(resource.name)
+			if err != nil {
+				return err
+			}
 
-		brief := container.Writable()
-		data, err := yaml.Marshal(&brief)
-		if err != nil {
-			return err
+			brief := container.Writable()
+			data, err = yaml.Marshal(&brief)
+			if err != nil {
+				return err
+			}
 		}
 
 		// Spawn the editor
@@ -180,13 +218,26 @@ func (c *cmdConfigEdit) Run(cmd *cobra.Command, args []string) error {
 
 		for {
 			// Parse the text received from the editor
-			newdata := api.ContainerPut{}
-			err = yaml.Unmarshal(content, &newdata)
-			if err == nil {
-				var op lxd.Operation
-				op, err = resource.server.UpdateContainer(resource.name, newdata, etag)
+			if isSnapshot {
+				newdata := api.ContainerSnapshotPut{}
+				err = yaml.Unmarshal(content, &newdata)
+				if err == nil {
+					var op lxd.Operation
+					op, err = resource.server.UpdateContainerSnapshot(fields[0], fields[1],
+						newdata, etag)
+					if err == nil {
+						err = op.Wait()
+					}
+				}
+			} else {
+				newdata := api.ContainerPut{}
+				err = yaml.Unmarshal(content, &newdata)
 				if err == nil {
-					err = op.Wait()
+					var op lxd.Operation
+					op, err = resource.server.UpdateContainer(resource.name, newdata, etag)
+					if err == nil {
+						err = op.Wait()
+					}
 				}
 			}
 
@@ -447,7 +498,7 @@ type cmdConfigShow struct {
 
 func (c *cmdConfigShow) Command() *cobra.Command {
 	cmd := &cobra.Command{}
-	cmd.Use = i18n.G("show [<remote>:][<container>]")
+	cmd.Use = i18n.G("show [<remote>:][<container>[/<snapshot>]]")
 	cmd.Short = i18n.G("Show container or server configurations")
 	cmd.Long = cli.FormatSection(i18n.G("Description"), i18n.G(
 		`Show container or server configurations`))
@@ -511,6 +562,7 @@ func (c *cmdConfigShow) Run(cmd *cobra.Command, args []string) error {
 				Config:    snap.Config,
 				Devices:   snap.Devices,
 				Ephemeral: snap.Ephemeral,
+				ExpiresAt: snap.ExpiresAt,
 			}
 
 			if c.flagExpanded {
@@ -519,6 +571,7 @@ func (c *cmdConfigShow) Run(cmd *cobra.Command, args []string) error {
 					Config:    snap.ExpandedConfig,
 					Devices:   snap.ExpandedDevices,
 					Ephemeral: snap.Ephemeral,
+					ExpiresAt: snap.ExpiresAt,
 				}
 			}
 		} else {

From 78708b02f72d3a44465c86712c822900a9af9da1 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 14 Jan 2019 14:49:42 +0100
Subject: [PATCH 09/11] doc: Add container snapshot expiry

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 doc/api-extensions.md |  8 ++++++++
 doc/containers.md     |  1 +
 doc/rest-api.md       | 12 ++++++++++++
 3 files changed, 21 insertions(+)

diff --git a/doc/api-extensions.md b/doc/api-extensions.md
index 12656d6d30..2c2c02c94b 100644
--- a/doc/api-extensions.md
+++ b/doc/api-extensions.md
@@ -672,3 +672,11 @@ to specify to the minimal numbers of nodes for image replication.
 ## container\_protection\_shift
 Enables setting the `security.protection.shift` option which prevents containers
 from having their filesystem shifted.
+
+## snapshot\_expiry
+This adds support for snapshot expiration. The task is run hourly, and can be
+enabled using the `snapshots.expire` option. This option can be set for
+profiles or containers, but not for snapshots themselves. If it's set to
+`true`, container snapshots with a valid expiry date, defined by `expires\_at`,
+are removed if they have expired. Expiration can be disabled by setting
+`expires_at` to `0001-01-01T00:00:00Z` (zero time). This is the default.
diff --git a/doc/containers.md b/doc/containers.md
index 9e4cef0bca..f85cc425bd 100644
--- a/doc/containers.md
+++ b/doc/containers.md
@@ -81,6 +81,7 @@ security.syscalls.whitelist             | string    | -                 | no
 snapshots.schedule                      | string    | -                 | no            | snapshot\_scheduling                 | Cron expression (`<minute> <hour> <dom> <month> <dow>`)
 snapshots.schedule.stopped              | bool      | false             | no            | snapshot\_scheduling                 | Controls whether or not stopped containers are to be snapshoted automatically
 snapshots.pattern                       | string    | snap%d            | no            | snapshot\_scheduling                 | Pongo2 template string which represents the snapshot name (used for scheduled snapshots and unnamed snapshots)
+snapshots.expire                        | bool      | false             | no            | snapshot\_expiry                     | Controls whether or not container snapshots are to expire and then be deleted
 user.\*                                 | string    | -                 | n/a           | -                                    | Free form user key/value storage (can be used in search)
 
 The following volatile keys are currently internally used by LXD:
diff --git a/doc/rest-api.md b/doc/rest-api.md
index ffed692874..73c2e979a7 100644
--- a/doc/rest-api.md
+++ b/doc/rest-api.md
@@ -1087,6 +1087,18 @@ Input (none at present):
     {
     }
 
+### PUT
+ * Description: update the snapshot
+ * Authentication: trusted
+ * Operation: async
+ * Return: background operation or standard error
+
+Input:
+
+    {
+        "expires_at": "2019-01-16T12:34:56+02:00"
+    }
+
 HTTP code for this should be 202 (Accepted).
 
 ### `/1.0/containers/<name>/state`

From ae469c66a85cecc4cf016e4700f289c67ed4912b Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Thu, 17 Jan 2019 11:52:58 +0100
Subject: [PATCH 10/11] test: Add container snapshot config test

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 test/main.sh          |  1 +
 test/suites/config.sh | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/test/main.sh b/test/main.sh
index 8b9700d13e..ec695f368f 100755
--- a/test/main.sh
+++ b/test/main.sh
@@ -189,6 +189,7 @@ run_test test_config_profiles "profiles and configuration"
 run_test test_config_edit "container configuration edit"
 run_test test_config_edit_container_snapshot_pool_config "container and snapshot volume configuration edit"
 run_test test_container_metadata "manage container metadata and templates"
+run_test test_container_snapshot_config "container snapshot configuration"
 run_test test_server_config "server configuration"
 run_test test_filemanip "file manipulations"
 run_test test_network "network management"
diff --git a/test/suites/config.sh b/test/suites/config.sh
index 04551325ea..eb6c460fc9 100644
--- a/test/suites/config.sh
+++ b/test/suites/config.sh
@@ -314,3 +314,19 @@ test_container_metadata() {
 
     lxc delete c
 }
+
+test_container_snapshot_config() {
+    ensure_import_testimage
+
+    lxc init testimage foo -s "lxdtest-$(basename "${LXD_DIR}")"
+    lxc snapshot foo
+    # container snapshots don't expire by default
+    ! lxc config show foo/snap0 | grep -q 'expires_at'
+
+    echo 'expires_at: 2000-01-01T00:00:00Z' | lxc config edit foo/snap0
+    lxc config show foo/snap0 | grep -q 'expires_at: 2000-01-01T00:00:00Z'
+
+    # Remove expiry date
+    echo 'expires_at: 0001-01-01T00:00:00Z' | lxc config edit foo/snap0
+    ! lxc config show foo/snap0 | grep -q 'expires_at: 0001-01-01T00:00:00Z'
+}

From 6999952cdceb3968e8bfa0ef6cbc719f0c3ddf3a Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Thu, 17 Jan 2019 14:22:34 +0100
Subject: [PATCH 11/11] po: Update i18n

Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
 po/de.po      | 144 ++++++++++++++++++++++++++----------------------
 po/el.po      | 134 ++++++++++++++++++++++----------------------
 po/es.po      | 140 +++++++++++++++++++++++-----------------------
 po/fa.po      | 134 ++++++++++++++++++++++----------------------
 po/fi.po      | 134 ++++++++++++++++++++++----------------------
 po/fr.po      | 150 ++++++++++++++++++++++++++++----------------------
 po/hi.po      | 134 ++++++++++++++++++++++----------------------
 po/id.po      | 134 ++++++++++++++++++++++----------------------
 po/it.po      | 140 +++++++++++++++++++++++-----------------------
 po/ja.po      | 140 +++++++++++++++++++++++-----------------------
 po/ko.po      | 134 ++++++++++++++++++++++----------------------
 po/lxd.pot    |  42 +++++++-------
 po/nb_NO.po   | 134 ++++++++++++++++++++++----------------------
 po/nl.po      | 134 ++++++++++++++++++++++----------------------
 po/pa.po      | 134 ++++++++++++++++++++++----------------------
 po/pl.po      | 134 ++++++++++++++++++++++----------------------
 po/pt_BR.po   | 134 ++++++++++++++++++++++----------------------
 po/ru.po      | 142 +++++++++++++++++++++++++----------------------
 po/sr.po      | 134 ++++++++++++++++++++++----------------------
 po/sv.po      | 134 ++++++++++++++++++++++----------------------
 po/tr.po      | 134 ++++++++++++++++++++++----------------------
 po/uk.po      | 134 ++++++++++++++++++++++----------------------
 po/zh_Hans.po | 134 ++++++++++++++++++++++----------------------
 23 files changed, 1541 insertions(+), 1501 deletions(-)

diff --git a/po/de.po b/po/de.po
index 0653679c85..cae83a64ab 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LXD\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2018-11-30 03:10+0000\n"
 "Last-Translator: ssantos <ssantos at web.de>\n"
 "Language-Team: German <https://hosted.weblate.org/projects/linux-containers/"
@@ -320,7 +320,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -535,7 +535,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -561,7 +561,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -631,7 +631,7 @@ msgstr "kann nicht zum selben Container Namen kopieren"
 msgid "Config key/value to apply to the target container"
 msgstr "kann nicht zum selben Container Namen kopieren"
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, fuzzy, c-format
@@ -805,7 +805,7 @@ msgstr "kann nicht zum selben Container Namen kopieren"
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr "BESCHREIBUNG"
@@ -869,52 +869,52 @@ msgstr "Kein Zertifikat für diese Verbindung"
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -1133,8 +1133,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr "FINGERABDRUCK"
 
@@ -1221,7 +1221,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -2089,7 +2089,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2467,7 +2467,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr "Alternatives config Verzeichnis."
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2523,7 +2523,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr "Anhalten des Containers fehlgeschlagen!"
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2594,7 +2594,7 @@ msgstr "Zeige die letzten 100 Zeilen Protokoll des Containers?"
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2922,7 +2922,7 @@ msgstr "nicht alle Profile der Quelle sind am Ziel vorhanden."
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -3270,8 +3270,13 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+#, fuzzy
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
+"Löscht einen Container oder Container Sicherungspunkt.\n"
+"\n"
+"Entfernt einen Container (oder Sicherungspunkt) und alle dazugehörigen\n"
+"Daten (Konfiguration, Sicherungspunkte, ...).\n"
 
 #: lxc/cluster.go:293
 msgid "enable [<remote>:] <name>"
@@ -3341,7 +3346,7 @@ msgstr ""
 "\n"
 "lxd %s <Name>\n"
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3455,7 +3460,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3872,7 +3877,7 @@ msgstr ""
 "\n"
 "lxd %s <Name>\n"
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3929,9 +3934,14 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+#, fuzzy
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
+"Löscht einen Container oder Container Sicherungspunkt.\n"
+"\n"
+"Entfernt einen Container (oder Sicherungspunkt) und alle dazugehörigen\n"
+"Daten (Konfiguration, Sicherungspunkte, ...).\n"
 
 #: lxc/snapshot.go:19
 msgid "snapshot [<remote>:]<container> [<snapshot name>]"
@@ -4035,7 +4045,7 @@ msgstr ""
 "\n"
 "lxd %s <Name>\n"
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/el.po b/po/el.po
index 229a6f4229..4445373cc1 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2017-02-14 08:00+0000\n"
 "Last-Translator: Simos Xenitellis <simos.65 at gmail.com>\n"
 "Language-Team: Greek <https://hosted.weblate.org/projects/linux-containers/"
@@ -195,7 +195,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -400,7 +400,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -426,7 +426,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -493,7 +493,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -654,7 +654,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -714,52 +714,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -970,8 +970,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1051,7 +1051,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1869,7 +1869,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2277,7 +2277,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2345,7 +2345,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2658,7 +2658,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2971,7 +2971,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3029,7 +3029,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3143,7 +3143,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3508,7 +3508,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3560,8 +3560,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3649,7 +3649,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/es.po b/po/es.po
index c8769dc09e..27e04a65ff 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2018-02-10 11:39+0000\n"
 "Last-Translator: Allan Esquivel Sibaja <allan.esquivel.sibaja at gmail.com>\n"
 "Language-Team: Spanish <https://hosted.weblate.org/projects/linux-containers/"
@@ -267,7 +267,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr "ALIAS"
 
@@ -472,7 +472,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr "No se puede jalar un directorio sin - recursivo"
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -499,7 +499,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -566,7 +566,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -728,7 +728,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -788,52 +788,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -1045,8 +1045,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1126,7 +1126,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1947,7 +1947,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2303,7 +2303,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2355,7 +2355,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2423,7 +2423,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2736,7 +2736,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -3050,8 +3050,9 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
-msgstr ""
+#, fuzzy
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
+msgstr "No se puede proveer el nombre del container a la lista"
 
 #: lxc/cluster.go:293
 msgid "enable [<remote>:] <name>"
@@ -3108,7 +3109,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3222,7 +3223,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3587,7 +3588,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3639,9 +3640,10 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
-msgstr ""
+#: lxc/config.go:501
+#, fuzzy
+msgid "show [<remote>:][<container>[/<snapshot>]]"
+msgstr "No se puede proveer el nombre del container a la lista"
 
 #: lxc/snapshot.go:19
 msgid "snapshot [<remote>:]<container> [<snapshot name>]"
@@ -3728,7 +3730,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/fa.po b/po/fa.po
index dc12d8ee25..68e513d7a3 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/fi.po b/po/fi.po
index 18fbf0b17a..66c94f709c 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/fr.po b/po/fr.po
index 3cc2fcb16a..608bbdb5a1 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LXD\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2019-01-04 18:07+0000\n"
 "Last-Translator: Deleted User <noreply+12102 at weblate.org>\n"
 "Language-Team: French <https://hosted.weblate.org/projects/linux-containers/"
@@ -310,7 +310,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr "ALIAS"
 
@@ -522,7 +522,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr "impossible de récupérer un répertoire sans --recursive"
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -550,7 +550,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr "impossible de spécifier uid/gid/mode en mode récursif"
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, fuzzy, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -626,7 +626,7 @@ msgstr "Clé/valeur de configuration à appliquer au nouveau conteneur"
 msgid "Config key/value to apply to the target container"
 msgstr "Clé/valeur de configuration à appliquer au nouveau conteneur"
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -814,7 +814,7 @@ msgstr "Création du conteneur"
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr "DESCRIPTION"
@@ -879,52 +879,52 @@ msgstr "Copie de l'image : %s"
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -1151,8 +1151,8 @@ msgstr "Import de l'image : %s"
 msgid "FILENAME"
 msgstr "NOM"
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr "EMPREINTE"
 
@@ -1237,7 +1237,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr "Clé de configuration invalide"
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -2167,7 +2167,7 @@ msgstr "Pid : %d"
 msgid "Press enter to open the editor again"
 msgstr "Appuyer sur Entrée pour ouvrir à nouveau l'éditeur"
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr "Appuyer sur Entrée pour lancer à nouveau l'éditeur"
@@ -2546,7 +2546,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr "Clé de configuration invalide"
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 #, fuzzy
 msgid "Set container or server configuration keys"
 msgstr "Clé de configuration invalide"
@@ -2605,7 +2605,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr "L'arrêt du conteneur a échoué !"
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 #, fuzzy
 msgid "Show container or server configurations"
 msgstr "Afficher la configuration étendue"
@@ -2684,7 +2684,7 @@ msgstr "Afficher les 100 dernières lignes du journal du conteneur ?"
 msgid "Show the default remote"
 msgstr "impossible de supprimer le serveur distant par défaut"
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr "Afficher la configuration étendue"
 
@@ -3017,7 +3017,7 @@ msgstr "tous les profils de la source n'existent pas sur la cible"
 msgid "Unset container device configuration keys"
 msgstr "Clé de configuration invalide"
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 #, fuzzy
 msgid "Unset container or server configuration keys"
 msgstr "Clé de configuration invalide"
@@ -3377,8 +3377,16 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+#, fuzzy
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
+"Supprimer des conteneurs ou des instantanés.\n"
+"\n"
+"lxc delete [<remote>:]<container>[/<snapshot>] [<remote>:][<container>[/"
+"<snapshot>]...]\n"
+"\n"
+"Détruit les conteneurs ou les instantanés ainsi que toute donnée associée "
+"(configuration, instantanés, …)."
 
 #: lxc/cluster.go:293
 msgid "enable [<remote>:] <name>"
@@ -3451,7 +3459,7 @@ msgstr ""
 "\n"
 "lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3566,7 +3574,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -4022,7 +4030,7 @@ msgstr ""
 "\n"
 "lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -4082,9 +4090,17 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+#, fuzzy
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
+"Supprimer des conteneurs ou des instantanés.\n"
+"\n"
+"lxc delete [<remote>:]<container>[/<snapshot>] [<remote>:][<container>[/"
+"<snapshot>]...]\n"
+"\n"
+"Détruit les conteneurs ou les instantanés ainsi que toute donnée associée "
+"(configuration, instantanés, …)."
 
 #: lxc/snapshot.go:19
 msgid "snapshot [<remote>:]<container> [<snapshot name>]"
@@ -4193,7 +4209,7 @@ msgstr ""
 "\n"
 "lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/hi.po b/po/hi.po
index ed73ec5a47..00a7b3f193 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/id.po b/po/id.po
index 7e271a1b7f..e83e6063e4 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/it.po b/po/it.po
index b2dc629978..8e5dc2a395 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2017-08-18 14:22+0000\n"
 "Last-Translator: Alberto Donato <alberto.donato at gmail.com>\n"
 "Language-Team: Italian <https://hosted.weblate.org/projects/linux-containers/"
@@ -232,7 +232,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr "ALIAS"
 
@@ -438,7 +438,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr "Impossibile effettuare il pull di una directory senza --recursive"
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -464,7 +464,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -531,7 +531,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -694,7 +694,7 @@ msgstr "Creazione del container in corso"
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr "DESCRIZIONE"
@@ -754,52 +754,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -1011,8 +1011,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1093,7 +1093,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1919,7 +1919,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2276,7 +2276,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2328,7 +2328,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2396,7 +2396,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2713,7 +2713,7 @@ msgstr "non tutti i profili dell'origine esistono nella destinazione"
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -3028,8 +3028,9 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
-msgstr ""
+#, fuzzy
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
+msgstr "Creazione del container in corso"
 
 #: lxc/cluster.go:293
 msgid "enable [<remote>:] <name>"
@@ -3086,7 +3087,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3200,7 +3201,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3565,7 +3566,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3617,9 +3618,10 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
-msgstr ""
+#: lxc/config.go:501
+#, fuzzy
+msgid "show [<remote>:][<container>[/<snapshot>]]"
+msgstr "Creazione del container in corso"
 
 #: lxc/snapshot.go:19
 msgid "snapshot [<remote>:]<container> [<snapshot name>]"
@@ -3706,7 +3708,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/ja.po b/po/ja.po
index 9937fd9ede..dcdbb2e65d 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LXD\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2018-10-12 14:44+0000\n"
 "Last-Translator: KATOH Yasufumi <karma at jazz.email.ne.jp>\n"
 "Language-Team: Japanese <https://hosted.weblate.org/projects/linux-"
@@ -197,7 +197,7 @@ msgstr "--container-only と --target は同時に指定できません"
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -407,7 +407,7 @@ msgid "Can't pull a directory without --recursive"
 msgstr ""
 "ディレクトリを pull する場合は --recursive オプションを使用してください"
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -435,7 +435,7 @@ msgstr "クラスタでない場合はカラムとして L は指定できませ
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr "再帰 (recursive) モードでは uid/gid/mode を指定できません"
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr "キー '%s' が設定されていないので削除できません"
@@ -506,7 +506,7 @@ msgstr "新しいプロジェクトに適用するキー/値の設定"
 msgid "Config key/value to apply to the target container"
 msgstr "移動先のコンテナに適用するキー/値の設定"
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -675,7 +675,7 @@ msgstr "コンテナを作成中"
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -735,52 +735,52 @@ msgstr "ストレージボリュームを削除します"
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr "説明"
 
@@ -1015,8 +1015,8 @@ msgstr "イメージのエクスポート中: %s"
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1096,7 +1096,7 @@ msgstr "ネットワークのランタイム情報を取得します"
 msgid "Get values for container device configuration keys"
 msgstr "コンテナのデバイスの設定値を取得します"
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr "コンテナもしくはサーバの設定値を取得します"
 
@@ -2028,7 +2028,7 @@ msgstr "Pid: %d"
 msgid "Press enter to open the editor again"
 msgstr "再度エディタを開くためには Enter キーを押します"
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr "再度エディタを起動するには Enter キーを押します"
@@ -2391,7 +2391,7 @@ msgstr "サーバのバージョン: %s\n"
 msgid "Set container device configuration keys"
 msgstr "コンテナデバイスの設定項目を設定します"
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr "コンテナもしくはサーバの設定項目を設定します"
 
@@ -2443,7 +2443,7 @@ msgstr "詳細な情報を出力します"
 msgid "Show container metadata files"
 msgstr "コンテナのメタデータファイルを表示します"
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr "コンテナもしくはサーバの設定を表示します"
 
@@ -2511,7 +2511,7 @@ msgstr "コンテナログの最後の 100 行を表示しますか?"
 msgid "Show the default remote"
 msgstr "デフォルトのリモートを表示します"
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr "拡張した設定を表示する"
 
@@ -2837,7 +2837,7 @@ msgstr "移動先のコンテナのすべてのプロファイルを削除しま
 msgid "Unset container device configuration keys"
 msgstr "コンテナデバイスの設定を削除します"
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr "コンテナもしくはサーバの設定を削除します"
 
@@ -3160,8 +3160,9 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
-msgstr ""
+#, fuzzy
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
+msgstr "restore [<remote>:]<container> <snapshot>"
 
 #: lxc/cluster.go:293
 msgid "enable [<remote>:] <name>"
@@ -3220,7 +3221,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr "get [<remote>:]<project> <key>"
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3345,7 +3346,7 @@ msgstr ""
 "lxc config edit <container> < container.yaml\n"
 "    コンテナの設定を config.yaml を使って更新します。"
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3811,7 +3812,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr "set [<remote>:]<project> <key> <value>"
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3863,9 +3864,10 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
-msgstr ""
+#: lxc/config.go:501
+#, fuzzy
+msgid "show [<remote>:][<container>[/<snapshot>]]"
+msgstr "restore [<remote>:]<container> <snapshot>"
 
 #: lxc/snapshot.go:19
 msgid "snapshot [<remote>:]<container> [<snapshot name>]"
@@ -3952,7 +3954,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr "unset [<remote>:]<project> <key>"
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/ko.po b/po/ko.po
index d81c2b6e99..12fad3b4ac 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/lxd.pot b/po/lxd.pot
index d71d0f7d23..7084fba8f9 100644
--- a/po/lxd.pot
+++ b/po/lxd.pot
@@ -7,7 +7,7 @@
 msgid   ""
 msgstr  "Project-Id-Version: lxd\n"
         "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-        "POT-Creation-Date: 2019-01-15 12:29+0200\n"
+        "POT-Creation-Date: 2019-01-17 14:21+0100\n"
         "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
         "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
         "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -184,7 +184,7 @@ msgstr  ""
 msgid   "--refresh can only be used with containers"
 msgstr  ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid   "ALIAS"
 msgstr  ""
 
@@ -386,7 +386,7 @@ msgstr  ""
 msgid   "Can't pull a directory without --recursive"
 msgstr  ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561 lxc/storage.go:622 lxc/storage_volume.go:1333
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561 lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid   "Can't read from stdin: %s"
 msgstr  ""
@@ -411,7 +411,7 @@ msgstr  ""
 msgid   "Can't supply uid/gid/mode in recursive mode"
 msgstr  ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid   "Can't unset key '%s', it's not currently set"
 msgstr  ""
@@ -469,7 +469,7 @@ msgstr  ""
 msgid   "Config key/value to apply to the target container"
 msgstr  ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144 lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305 lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144 lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305 lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
 msgid   "Config parsing error: %s"
 msgstr  ""
@@ -626,7 +626,7 @@ msgstr  ""
 msgid   "DATABASE"
 msgstr  ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861 lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861 lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid   "DESCRIPTION"
 msgstr  ""
 
@@ -682,7 +682,7 @@ msgstr  ""
 msgid   "Delete storage volumes"
 msgstr  ""
 
-#: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91 lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147 lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147 lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29 lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452 lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54 lxc/config_metadata.go:176 lxc/config_template.go:30 lxc/config_template.go:67 lxc/config_template.go:110 lxc/config_template.go:152 lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187 lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26 lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220 lxc/storage_volume.go:303 lxc/storage_volume.go:464 lxc/storage_volume.go:541 lxc/storage_volume.go:617 lxc/storage_volume.go:699 lxc/storage_volume.go:780 lxc/storage_volume.go:980 lxc/storage_volume.go:1069 lxc/storage_volume.go:1148 lxc/storage_volume.go:1179 lxc/storage_volume.go:1282 lxc/storage_volume.go:1359 lxc/storage_volume.go:1458 lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91 lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147 lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147 lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657 lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406 lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29 lxc/config_metadata.go:54 lxc/config_metadata.go:176 lxc/config_template.go:30 lxc/config_template.go:67 lxc/config_template.go:110 lxc/config_template.go:152 lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220 lxc/storage_volume.go:303 lxc/storage_volume.go:464 lxc/storage_volume.go:541 lxc/storage_volume.go:617 lxc/storage_volume.go:699 lxc/storage_volume.go:780 lxc/storage_volume.go:980 lxc/storage_volume.go:1069 lxc/storage_volume.go:1148 lxc/storage_volume.go:1179 lxc/storage_volume.go:1282 lxc/storage_volume.go:1359 lxc/storage_volume.go:1458 lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid   "Description"
 msgstr  ""
 
@@ -885,7 +885,7 @@ msgstr  ""
 msgid   "FILENAME"
 msgstr  ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943 lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942 lxc/image.go:943
 msgid   "FINGERPRINT"
 msgstr  ""
 
@@ -965,7 +965,7 @@ msgstr  ""
 msgid   "Get values for container device configuration keys"
 msgstr  ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid   "Get values for container or server configuration keys"
 msgstr  ""
 
@@ -1744,7 +1744,7 @@ msgstr  ""
 msgid   "Press enter to open the editor again"
 msgstr  ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145 lxc/config_template.go:205 lxc/image.go:410
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145 lxc/config_template.go:205 lxc/image.go:410
 msgid   "Press enter to start the editor again"
 msgstr  ""
 
@@ -2095,7 +2095,7 @@ msgstr  ""
 msgid   "Set container device configuration keys"
 msgstr  ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid   "Set container or server configuration keys"
 msgstr  ""
 
@@ -2147,7 +2147,7 @@ msgstr  ""
 msgid   "Show container metadata files"
 msgstr  ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid   "Show container or server configurations"
 msgstr  ""
 
@@ -2215,7 +2215,7 @@ msgstr  ""
 msgid   "Show the default remote"
 msgstr  ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid   "Show the expanded configuration"
 msgstr  ""
 
@@ -2522,7 +2522,7 @@ msgstr  ""
 msgid   "Unset container device configuration keys"
 msgstr  ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid   "Unset container or server configuration keys"
 msgstr  ""
 
@@ -2824,7 +2824,7 @@ msgid   "edit [<remote>:]<project>"
 msgstr  ""
 
 #: lxc/config.go:86
-msgid   "edit [<remote>:][<container>]"
+msgid   "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr  ""
 
 #: lxc/cluster.go:293
@@ -2880,7 +2880,7 @@ msgstr  ""
 msgid   "get [<remote>:]<project> <key>"
 msgstr  ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid   "get [<remote>:][<container>] <key>"
 msgstr  ""
 
@@ -2985,7 +2985,7 @@ msgid   "lxc config edit <container> < container.yaml\n"
         "    Update the container configuration from config.yaml."
 msgstr  ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid   "lxc config set [<remote>:]<container> limits.cpu 2\n"
         "    Will set a CPU limit of \"2\" for the container.\n"
         "\n"
@@ -3313,7 +3313,7 @@ msgstr  ""
 msgid   "set [<remote>:]<project> <key> <value>"
 msgstr  ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid   "set [<remote>:][<container>] <key> <value>"
 msgstr  ""
 
@@ -3365,8 +3365,8 @@ msgstr  ""
 msgid   "show [<remote>:]<project>"
 msgstr  ""
 
-#: lxc/config.go:450
-msgid   "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid   "show [<remote>:][<container>[/<snapshot>]]"
 msgstr  ""
 
 #: lxc/snapshot.go:19
@@ -3454,7 +3454,7 @@ msgstr  ""
 msgid   "unset [<remote>:]<project> <key>"
 msgstr  ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid   "unset [<remote>:][<container>] <key>"
 msgstr  ""
 
diff --git a/po/nb_NO.po b/po/nb_NO.po
index 08afd125c4..387a0a9d39 100644
--- a/po/nb_NO.po
+++ b/po/nb_NO.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/nl.po b/po/nl.po
index a9b9f1f7dd..7086198be9 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2018-09-24 23:21+0000\n"
 "Last-Translator: idef1x <sjoerd at sjomar.eu>\n"
 "Language-Team: Dutch <https://hosted.weblate.org/projects/linux-containers/"
@@ -222,7 +222,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -426,7 +426,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -452,7 +452,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -519,7 +519,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -680,7 +680,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -740,52 +740,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -995,8 +995,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1076,7 +1076,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1892,7 +1892,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2248,7 +2248,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2300,7 +2300,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2368,7 +2368,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2681,7 +2681,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2994,7 +2994,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3052,7 +3052,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3166,7 +3166,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3531,7 +3531,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3583,8 +3583,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3672,7 +3672,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/pa.po b/po/pa.po
index 17a118b3d6..be2fe0c95f 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/pl.po b/po/pl.po
index 0f836e21b1..85f4186509 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2018-09-08 19:22+0000\n"
 "Last-Translator: m4sk1n <me at m4sk.in>\n"
 "Language-Team: Polish <https://hosted.weblate.org/projects/linux-containers/"
@@ -241,7 +241,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -445,7 +445,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -471,7 +471,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -538,7 +538,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -699,7 +699,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -759,52 +759,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -1014,8 +1014,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1095,7 +1095,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1911,7 +1911,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2267,7 +2267,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2319,7 +2319,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2387,7 +2387,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2700,7 +2700,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -3013,7 +3013,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3071,7 +3071,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3185,7 +3185,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3550,7 +3550,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3602,8 +3602,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3691,7 +3691,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 82bad3b4a7..9215a8ee46 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2019-01-01 22:06+0000\n"
 "Last-Translator: Renato dos Santos <shazaum at gmail.com>\n"
 "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
@@ -312,7 +312,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -516,7 +516,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -542,7 +542,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -609,7 +609,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -770,7 +770,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -830,52 +830,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -1086,8 +1086,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1167,7 +1167,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1984,7 +1984,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2340,7 +2340,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2393,7 +2393,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2461,7 +2461,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2774,7 +2774,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -3088,7 +3088,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3146,7 +3146,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3260,7 +3260,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3625,7 +3625,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3677,8 +3677,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3766,7 +3766,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/ru.po b/po/ru.po
index 32f8853f0a..27dba60342 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2018-06-22 15:57+0000\n"
 "Last-Translator: Александр Киль <shorrey at gmail.com>\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/linux-containers/"
@@ -302,7 +302,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr "ПСЕВДОНИМ"
 
@@ -510,7 +510,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -536,7 +536,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -603,7 +603,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -770,7 +770,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -833,52 +833,52 @@ msgstr "Копирование образа: %s"
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -1093,8 +1093,8 @@ msgstr "Копирование образа: %s"
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1174,7 +1174,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -2006,7 +2006,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2368,7 +2368,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2421,7 +2421,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr "Невозможно добавить имя контейнера в список"
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2490,7 +2490,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2806,7 +2806,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -3144,8 +3144,12 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+#, fuzzy
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
+"Изменение состояния одного или нескольких контейнеров %s.\n"
+"\n"
+"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
 
 #: lxc/cluster.go:293
 msgid "enable [<remote>:] <name>"
@@ -3214,7 +3218,7 @@ msgstr ""
 "\n"
 "lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3328,7 +3332,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3733,7 +3737,7 @@ msgstr ""
 "\n"
 "lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3789,9 +3793,13 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+#, fuzzy
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
+"Изменение состояния одного или нескольких контейнеров %s.\n"
+"\n"
+"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
 
 #: lxc/snapshot.go:19
 msgid "snapshot [<remote>:]<container> [<snapshot name>]"
@@ -3894,7 +3902,7 @@ msgstr ""
 "\n"
 "lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/sr.po b/po/sr.po
index 2e85d5e6e9..6a8bccebef 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/sv.po b/po/sv.po
index 84be7c9296..28070a99ea 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/tr.po b/po/tr.po
index db57cbe40d..9079bc3639 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/uk.po b/po/uk.po
index 505f862403..fcb2a27c0d 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -192,7 +192,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -396,7 +396,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -422,7 +422,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -489,7 +489,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -650,7 +650,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -710,52 +710,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -965,8 +965,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1046,7 +1046,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1862,7 +1862,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2270,7 +2270,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2338,7 +2338,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2651,7 +2651,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2964,7 +2964,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3022,7 +3022,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3136,7 +3136,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3501,7 +3501,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3553,8 +3553,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3642,7 +3642,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 
diff --git a/po/zh_Hans.po b/po/zh_Hans.po
index 6b71ec323a..cf30f15194 100644
--- a/po/zh_Hans.po
+++ b/po/zh_Hans.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxd\n"
 "Report-Msgid-Bugs-To: lxc-devel at lists.linuxcontainers.org\n"
-"POT-Creation-Date: 2019-01-15 12:29+0200\n"
+"POT-Creation-Date: 2019-01-17 14:21+0100\n"
 "PO-Revision-Date: 2018-09-11 19:15+0000\n"
 "Last-Translator: 0x0916 <w at laoqinren.net>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
@@ -195,7 +195,7 @@ msgstr ""
 msgid "--refresh can only be used with containers"
 msgstr ""
 
-#: lxc/alias.go:127 lxc/image.go:940 lxc/image_alias.go:228
+#: lxc/alias.go:127 lxc/image_alias.go:228 lxc/image.go:940
 msgid "ALIAS"
 msgstr ""
 
@@ -399,7 +399,7 @@ msgstr ""
 msgid "Can't pull a directory without --recursive"
 msgstr ""
 
-#: lxc/config.go:400 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
+#: lxc/config.go:451 lxc/network.go:1083 lxc/profile.go:801 lxc/project.go:561
 #: lxc/storage.go:622 lxc/storage_volume.go:1333
 #, c-format
 msgid "Can't read from stdin: %s"
@@ -425,7 +425,7 @@ msgstr ""
 msgid "Can't supply uid/gid/mode in recursive mode"
 msgstr ""
 
-#: lxc/config.go:413
+#: lxc/config.go:464
 #, c-format
 msgid "Can't unset key '%s', it's not currently set"
 msgstr ""
@@ -492,7 +492,7 @@ msgstr ""
 msgid "Config key/value to apply to the target container"
 msgstr ""
 
-#: lxc/config.go:195 lxc/config.go:259 lxc/config_metadata.go:144
+#: lxc/config.go:246 lxc/config.go:310 lxc/config_metadata.go:144
 #: lxc/image.go:409 lxc/network.go:642 lxc/profile.go:499 lxc/project.go:305
 #: lxc/storage.go:303 lxc/storage_volume.go:919 lxc/storage_volume.go:949
 #, c-format
@@ -653,7 +653,7 @@ msgstr ""
 msgid "DATABASE"
 msgstr ""
 
-#: lxc/image.go:945 lxc/image_alias.go:230 lxc/list.go:459 lxc/network.go:861
+#: lxc/image_alias.go:230 lxc/image.go:945 lxc/list.go:459 lxc/network.go:861
 #: lxc/operation.go:156 lxc/storage.go:550 lxc/storage_volume.go:1121
 msgid "DESCRIPTION"
 msgstr ""
@@ -713,52 +713,52 @@ msgstr ""
 #: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91
 #: lxc/alias.go:23 lxc/alias.go:55 lxc/alias.go:99 lxc/alias.go:147
 #: lxc/alias.go:198 lxc/cluster.go:27 lxc/cluster.go:64 lxc/cluster.go:147
-#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295 lxc/config.go:29
-#: lxc/config.go:88 lxc/config.go:289 lxc/config.go:355 lxc/config.go:452
-#: lxc/config.go:560 lxc/config_device.go:24 lxc/config_device.go:76
-#: lxc/config_device.go:182 lxc/config_device.go:255 lxc/config_device.go:321
-#: lxc/config_device.go:410 lxc/config_device.go:500 lxc/config_device.go:589
-#: lxc/config_device.go:657 lxc/config_metadata.go:29 lxc/config_metadata.go:54
-#: lxc/config_metadata.go:176 lxc/config_template.go:30
-#: lxc/config_template.go:67 lxc/config_template.go:110
-#: lxc/config_template.go:152 lxc/config_template.go:236
-#: lxc/config_template.go:298 lxc/config_trust.go:30 lxc/config_trust.go:59
-#: lxc/config_trust.go:115 lxc/config_trust.go:197 lxc/console.go:32
-#: lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39 lxc/export.go:31
-#: lxc/file.go:42 lxc/file.go:75 lxc/file.go:124 lxc/file.go:187
-#: lxc/file.go:377 lxc/image.go:42 lxc/image.go:131 lxc/image.go:265
-#: lxc/image.go:316 lxc/image.go:439 lxc/image.go:579 lxc/image.go:793
-#: lxc/image.go:907 lxc/image.go:1237 lxc/image.go:1314 lxc/image_alias.go:26
-#: lxc/image_alias.go:59 lxc/image_alias.go:106 lxc/image_alias.go:149
-#: lxc/image_alias.go:250 lxc/import.go:25 lxc/info.go:29 lxc/init.go:35
-#: lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49 lxc/manpage.go:19
-#: lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34 lxc/network.go:110
-#: lxc/network.go:183 lxc/network.go:256 lxc/network.go:328 lxc/network.go:378
-#: lxc/network.go:463 lxc/network.go:548 lxc/network.go:671 lxc/network.go:729
-#: lxc/network.go:799 lxc/network.go:919 lxc/network.go:984 lxc/network.go:1034
-#: lxc/network.go:1103 lxc/network.go:1165 lxc/operation.go:25
-#: lxc/operation.go:54 lxc/operation.go:101 lxc/operation.go:177
-#: lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165 lxc/profile.go:245
-#: lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405 lxc/profile.go:529
-#: lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717 lxc/profile.go:767
-#: lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30 lxc/project.go:87
-#: lxc/project.go:152 lxc/project.go:215 lxc/project.go:335 lxc/project.go:383
-#: lxc/project.go:472 lxc/project.go:527 lxc/project.go:587 lxc/project.go:616
-#: lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30 lxc/remote.go:40
-#: lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439 lxc/remote.go:544
-#: lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694 lxc/rename.go:21
-#: lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33 lxc/storage.go:89
-#: lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333 lxc/storage.go:388
-#: lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650 lxc/storage.go:734
-#: lxc/storage_volume.go:34 lxc/storage_volume.go:141 lxc/storage_volume.go:220
-#: lxc/storage_volume.go:303 lxc/storage_volume.go:464
-#: lxc/storage_volume.go:541 lxc/storage_volume.go:617
-#: lxc/storage_volume.go:699 lxc/storage_volume.go:780
-#: lxc/storage_volume.go:980 lxc/storage_volume.go:1069
-#: lxc/storage_volume.go:1148 lxc/storage_volume.go:1179
-#: lxc/storage_volume.go:1282 lxc/storage_volume.go:1359
-#: lxc/storage_volume.go:1458 lxc/storage_volume.go:1489
-#: lxc/storage_volume.go:1560 lxc/version.go:22
+#: lxc/cluster.go:197 lxc/cluster.go:246 lxc/cluster.go:295
+#: lxc/config_device.go:24 lxc/config_device.go:76 lxc/config_device.go:182
+#: lxc/config_device.go:255 lxc/config_device.go:321 lxc/config_device.go:410
+#: lxc/config_device.go:500 lxc/config_device.go:589 lxc/config_device.go:657
+#: lxc/config.go:29 lxc/config.go:88 lxc/config.go:340 lxc/config.go:406
+#: lxc/config.go:503 lxc/config.go:613 lxc/config_metadata.go:29
+#: lxc/config_metadata.go:54 lxc/config_metadata.go:176
+#: lxc/config_template.go:30 lxc/config_template.go:67
+#: lxc/config_template.go:110 lxc/config_template.go:152
+#: lxc/config_template.go:236 lxc/config_template.go:298 lxc/config_trust.go:30
+#: lxc/config_trust.go:59 lxc/config_trust.go:115 lxc/config_trust.go:197
+#: lxc/console.go:32 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:39
+#: lxc/export.go:31 lxc/file.go:42 lxc/file.go:75 lxc/file.go:124
+#: lxc/file.go:187 lxc/file.go:377 lxc/image_alias.go:26 lxc/image_alias.go:59
+#: lxc/image_alias.go:106 lxc/image_alias.go:149 lxc/image_alias.go:250
+#: lxc/image.go:42 lxc/image.go:131 lxc/image.go:265 lxc/image.go:316
+#: lxc/image.go:439 lxc/image.go:579 lxc/image.go:793 lxc/image.go:907
+#: lxc/image.go:1237 lxc/image.go:1314 lxc/import.go:25 lxc/info.go:29
+#: lxc/init.go:35 lxc/launch.go:22 lxc/list.go:48 lxc/main.go:49
+#: lxc/manpage.go:19 lxc/monitor.go:31 lxc/move.go:37 lxc/network.go:34
+#: lxc/network.go:110 lxc/network.go:183 lxc/network.go:256 lxc/network.go:328
+#: lxc/network.go:378 lxc/network.go:463 lxc/network.go:548 lxc/network.go:671
+#: lxc/network.go:729 lxc/network.go:799 lxc/network.go:919 lxc/network.go:984
+#: lxc/network.go:1034 lxc/network.go:1103 lxc/network.go:1165
+#: lxc/operation.go:25 lxc/operation.go:54 lxc/operation.go:101
+#: lxc/operation.go:177 lxc/profile.go:30 lxc/profile.go:102 lxc/profile.go:165
+#: lxc/profile.go:245 lxc/profile.go:301 lxc/profile.go:355 lxc/profile.go:405
+#: lxc/profile.go:529 lxc/profile.go:577 lxc/profile.go:641 lxc/profile.go:717
+#: lxc/profile.go:767 lxc/profile.go:826 lxc/profile.go:880 lxc/project.go:30
+#: lxc/project.go:87 lxc/project.go:152 lxc/project.go:215 lxc/project.go:335
+#: lxc/project.go:383 lxc/project.go:472 lxc/project.go:527 lxc/project.go:587
+#: lxc/project.go:616 lxc/project.go:669 lxc/publish.go:34 lxc/query.go:30
+#: lxc/remote.go:40 lxc/remote.go:91 lxc/remote.go:403 lxc/remote.go:439
+#: lxc/remote.go:544 lxc/remote.go:606 lxc/remote.go:656 lxc/remote.go:694
+#: lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:21 lxc/storage.go:33
+#: lxc/storage.go:89 lxc/storage.go:163 lxc/storage.go:213 lxc/storage.go:333
+#: lxc/storage.go:388 lxc/storage.go:496 lxc/storage.go:578 lxc/storage.go:650
+#: lxc/storage.go:734 lxc/storage_volume.go:34 lxc/storage_volume.go:141
+#: lxc/storage_volume.go:220 lxc/storage_volume.go:303
+#: lxc/storage_volume.go:464 lxc/storage_volume.go:541
+#: lxc/storage_volume.go:617 lxc/storage_volume.go:699
+#: lxc/storage_volume.go:780 lxc/storage_volume.go:980
+#: lxc/storage_volume.go:1069 lxc/storage_volume.go:1148
+#: lxc/storage_volume.go:1179 lxc/storage_volume.go:1282
+#: lxc/storage_volume.go:1359 lxc/storage_volume.go:1458
+#: lxc/storage_volume.go:1489 lxc/storage_volume.go:1560 lxc/version.go:22
 msgid "Description"
 msgstr ""
 
@@ -968,8 +968,8 @@ msgstr ""
 msgid "FILENAME"
 msgstr ""
 
-#: lxc/config_trust.go:174 lxc/image.go:942 lxc/image.go:943
-#: lxc/image_alias.go:229
+#: lxc/config_trust.go:174 lxc/image_alias.go:229 lxc/image.go:942
+#: lxc/image.go:943
 msgid "FINGERPRINT"
 msgstr ""
 
@@ -1049,7 +1049,7 @@ msgstr ""
 msgid "Get values for container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:288 lxc/config.go:289
+#: lxc/config.go:339 lxc/config.go:340
 msgid "Get values for container or server configuration keys"
 msgstr ""
 
@@ -1865,7 +1865,7 @@ msgstr ""
 msgid "Press enter to open the editor again"
 msgstr ""
 
-#: lxc/config.go:196 lxc/config.go:260 lxc/config_metadata.go:145
+#: lxc/config.go:247 lxc/config.go:311 lxc/config_metadata.go:145
 #: lxc/config_template.go:205 lxc/image.go:410
 msgid "Press enter to start the editor again"
 msgstr ""
@@ -2221,7 +2221,7 @@ msgstr ""
 msgid "Set container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:354 lxc/config.go:355
+#: lxc/config.go:405 lxc/config.go:406
 msgid "Set container or server configuration keys"
 msgstr ""
 
@@ -2273,7 +2273,7 @@ msgstr ""
 msgid "Show container metadata files"
 msgstr ""
 
-#: lxc/config.go:451 lxc/config.go:452
+#: lxc/config.go:502 lxc/config.go:503
 msgid "Show container or server configurations"
 msgstr ""
 
@@ -2341,7 +2341,7 @@ msgstr ""
 msgid "Show the default remote"
 msgstr ""
 
-#: lxc/config.go:455
+#: lxc/config.go:506
 msgid "Show the expanded configuration"
 msgstr ""
 
@@ -2654,7 +2654,7 @@ msgstr ""
 msgid "Unset container device configuration keys"
 msgstr ""
 
-#: lxc/config.go:559 lxc/config.go:560
+#: lxc/config.go:612 lxc/config.go:613
 msgid "Unset container or server configuration keys"
 msgstr ""
 
@@ -2967,7 +2967,7 @@ msgid "edit [<remote>:]<project>"
 msgstr ""
 
 #: lxc/config.go:86
-msgid "edit [<remote>:][<container>]"
+msgid "edit [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/cluster.go:293
@@ -3025,7 +3025,7 @@ msgstr ""
 msgid "get [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:287
+#: lxc/config.go:338
 msgid "get [<remote>:][<container>] <key>"
 msgstr ""
 
@@ -3139,7 +3139,7 @@ msgid ""
 "    Update the container configuration from config.yaml."
 msgstr ""
 
-#: lxc/config.go:357
+#: lxc/config.go:408
 msgid ""
 "lxc config set [<remote>:]<container> limits.cpu 2\n"
 "    Will set a CPU limit of \"2\" for the container.\n"
@@ -3504,7 +3504,7 @@ msgstr ""
 msgid "set [<remote>:]<project> <key> <value>"
 msgstr ""
 
-#: lxc/config.go:353
+#: lxc/config.go:404
 msgid "set [<remote>:][<container>] <key> <value>"
 msgstr ""
 
@@ -3556,8 +3556,8 @@ msgstr ""
 msgid "show [<remote>:]<project>"
 msgstr ""
 
-#: lxc/config.go:450
-msgid "show [<remote>:][<container>]"
+#: lxc/config.go:501
+msgid "show [<remote>:][<container>[/<snapshot>]]"
 msgstr ""
 
 #: lxc/snapshot.go:19
@@ -3645,7 +3645,7 @@ msgstr ""
 msgid "unset [<remote>:]<project> <key>"
 msgstr ""
 
-#: lxc/config.go:558
+#: lxc/config.go:611
 msgid "unset [<remote>:][<container>] <key>"
 msgstr ""
 


More information about the lxc-devel mailing list