[lxc-devel] [lxd/master] Storage: Backup custom storage volumes
tomponline on Github
lxc-bot at linuxcontainers.org
Tue Sep 15 10:40:03 UTC 2020
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 353 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20200915/1b8ed7f0/attachment-0001.bin>
-------------- next part --------------
From cb8a2f5d86d6247ef6b003662b89549a44f2d7a6 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 24 Aug 2020 12:27:13 +0200
Subject: [PATCH 01/15] shared/version: Add custom_volume_backup API 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 1288a75238..446faeb3fb 100644
--- a/shared/version/api.go
+++ b/shared/version/api.go
@@ -224,6 +224,7 @@ var APIExtensions = []string{
"network_type_sriov",
"container_syscall_intercept_bpf_devices",
"network_type_ovn",
+ "custom_volume_backup",
}
// APIExtensionsCount returns the number of available API extensions.
From 15225f5b2343aa7958dc176db5c610f48efd108e Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Mon, 24 Aug 2020 14:10:25 +0200
Subject: [PATCH 02/15] doc/rest-api: Add custom volume backups
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
doc/rest-api.md | 96 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 96 insertions(+)
diff --git a/doc/rest-api.md b/doc/rest-api.md
index 1444de1ba0..5e0e26b99a 100644
--- a/doc/rest-api.md
+++ b/doc/rest-api.md
@@ -278,6 +278,9 @@ much like `/1.0/containers` will only show you instances of that type.
* [`/1.0/storage-pools/<pool>/volumes/<type>/<name>`](#10storage-poolspoolvolumestypename)
* [`/1.0/storage-pools/<pool>/volumes/<type>/<name>/snapshots`](#10storage-poolspoolvolumestypenamesnapshots)
* [`/1.0/storage-pools/<pool>/volumes/<type>/<volume>/snapshots/<name>`](#10storage-poolspoolvolumestypevolumesnapshotsname)
+ * [`/1.0/storage-pools/<pool>/volumes/<type>/<name>/backups`](#10storage-poolspoolvolumestypenamebackups)
+ * [`/1.0/storage-pools/<pool>/volumes/<type>/<volume>/backups/<name>`](#10storage-poolspoolvolumestypevolumebackupsname)
+ * [`/1.0/storage-pools/<pool>/volumes/<type>/<volume>/backups/<name>/export`](#10storage-poolspoolvolumestypevolumebackupsnameexport)
* [`/1.0/resources`](#10resources)
* [`/1.0/cluster`](#10cluster)
* [`/1.0/cluster/members`](#10clustermembers)
@@ -3200,6 +3203,99 @@ Input:
HTTP code for this should be 202 (Accepted).
+### `/1.0/storage-pools/<pool>/volumes/<type>/<name>/backups`
+#### GET
+ * Description: List of backups for the volume
+ * Introduced: with API extension `custom_volume_backup`
+ * Authentication: trusted
+ * Operation: sync
+ * Return: a list of backups for the volume
+
+Return value:
+
+```json
+[
+ "/1.0/storage-pools/pool1/custom/vol1/backups/backup0",
+ "/1.0/storage-pools/pool1/custom/vol1/backups/backup1",
+]
+```
+
+#### POST
+ * Description: Create a new backup
+ * Introduced: with API extension `custom_volume_backup`
+ * Authentication: trusted
+ * Operation: async
+ * Returns: background operation or standard error
+
+Input:
+
+```js
+{
+ "name": "backupName", // unique identifier for the backup
+ "expiry": 3600, // when to delete the backup automatically
+ "volume_only": true, // if True, snapshots aren't included
+ "optimized_storage": true // if True, btrfs send or zfs send is used for volume and snapshots
+}
+```
+
+### `/1.0/storage-pools/<pool>/volumes/<type>/<volume>/backups/<name>`
+#### GET
+ * Description: Backup information
+ * Introduced: with API extension `custom_volume_backup`
+ * Authentication: trusted
+ * Operation: sync
+ * Returns: dict of the backup
+
+Output:
+
+```json
+{
+ "name": "backupName",
+ "creation_date": "2018-04-23T12:16:09+02:00",
+ "expiry_date": "2018-04-23T12:16:09+02:00",
+ "instance_only": false,
+ "optimized_storage": false
+}
+```
+
+#### DELETE
+ * Description: remove the backup
+ * Introduced: with API extension `custom_volume_backup`
+ * Authentication: trusted
+ * Operation: async
+ * Return: background operation or standard error
+
+#### POST
+ * Description: used to rename the backup
+ * Introduced: with API extension `custom_volume_backup`
+ * Authentication: trusted
+ * Operation: async
+ * Return: background operation or standard error
+
+Input:
+
+```json
+{
+ "name": "new-name"
+}
+```
+
+### `storage-pools/<pool>/volumes/<type>/<volume>/backups/<name>/export`
+#### GET
+ * Description: fetch the backup tarball
+ * Introduced: with API extension `custom_volume_backup`
+ * Authentication: trusted
+ * Operation: sync
+ * Return: dict containing the backup tarball
+
+Output:
+
+```json
+{
+ "data": "<byte-stream>"
+}
+```
+
### `/1.0/resources`
#### GET
* Description: information about the resources available to the LXD server
From 7d57f7de5e179d8512e7f2e9f1b8f7a63de95b1c Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 26 Aug 2020 13:56:23 +0200
Subject: [PATCH 03/15] lxd: Rename backup.Backup to backup.InstanceBackup
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
lxd/backup/backup.go | 24 ++++++++++++------------
lxd/instance/drivers/driver_lxc.go | 4 ++--
lxd/instance/drivers/driver_qemu.go | 4 ++--
lxd/instance/instance_interface.go | 2 +-
lxd/instance/instance_utils.go | 2 +-
5 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/lxd/backup/backup.go b/lxd/backup/backup.go
index 5d20ac00f9..91716d989f 100644
--- a/lxd/backup/backup.go
+++ b/lxd/backup/backup.go
@@ -121,8 +121,8 @@ func GetInfo(r io.ReadSeeker) (*Info, error) {
return &result, nil
}
-// Backup represents a container backup
-type Backup struct {
+// InstanceBackup represents an instance backup
+type InstanceBackup struct {
state *state.State
instance Instance
@@ -137,8 +137,8 @@ type Backup struct {
}
// New instantiates a new Backup struct.
-func New(state *state.State, inst Instance, ID int, name string, creationDate, expiryDate time.Time, instanceOnly, optimizedStorage bool) *Backup {
- return &Backup{
+func New(state *state.State, inst Instance, ID int, name string, creationDate, expiryDate time.Time, instanceOnly, optimizedStorage bool) *InstanceBackup {
+ return &InstanceBackup{
state: state,
instance: inst,
id: ID,
@@ -151,33 +151,33 @@ func New(state *state.State, inst Instance, ID int, name string, creationDate, e
}
// CompressionAlgorithm returns the compression used for the tarball.
-func (b *Backup) CompressionAlgorithm() string {
+func (b *InstanceBackup) CompressionAlgorithm() string {
return b.compressionAlgorithm
}
// SetCompressionAlgorithm sets the tarball compression.
-func (b *Backup) SetCompressionAlgorithm(compression string) {
+func (b *InstanceBackup) SetCompressionAlgorithm(compression string) {
b.compressionAlgorithm = compression
}
// InstanceOnly returns whether only the instance itself is to be backed up.
-func (b *Backup) InstanceOnly() bool {
+func (b *InstanceBackup) InstanceOnly() bool {
return b.instanceOnly
}
// Name returns the name of the backup.
-func (b *Backup) Name() string {
+func (b *InstanceBackup) Name() string {
return b.name
}
// OptimizedStorage returns whether the backup is to be performed using
// optimization supported by the storage driver.
-func (b *Backup) OptimizedStorage() bool {
+func (b *InstanceBackup) OptimizedStorage() bool {
return b.optimizedStorage
}
// Rename renames a container backup
-func (b *Backup) Rename(newName string) error {
+func (b *InstanceBackup) Rename(newName string) error {
oldBackupPath := shared.VarPath("backups", project.Instance(b.instance.Project(), b.name))
newBackupPath := shared.VarPath("backups", project.Instance(b.instance.Project(), newName))
@@ -215,12 +215,12 @@ func (b *Backup) Rename(newName string) error {
}
// Delete removes an instance backup
-func (b *Backup) Delete() error {
+func (b *InstanceBackup) Delete() error {
return DoBackupDelete(b.state, b.instance.Project(), b.name, b.instance.Name())
}
// Render returns an InstanceBackup struct of the backup.
-func (b *Backup) Render() *api.InstanceBackup {
+func (b *InstanceBackup) Render() *api.InstanceBackup {
return &api.InstanceBackup{
Name: strings.SplitN(b.name, "/", 2)[1],
CreatedAt: b.creationDate,
diff --git a/lxd/instance/drivers/driver_lxc.go b/lxd/instance/drivers/driver_lxc.go
index 70fe25c4e7..49c68c9469 100644
--- a/lxd/instance/drivers/driver_lxc.go
+++ b/lxd/instance/drivers/driver_lxc.go
@@ -3274,7 +3274,7 @@ func (c *lxc) Snapshots() ([]instance.Instance, error) {
}
// Backups returns the backups of the instance.
-func (c *lxc) Backups() ([]backup.Backup, error) {
+func (c *lxc) Backups() ([]backup.InstanceBackup, error) {
// Get all the backups
backupNames, err := c.state.Cluster.GetInstanceBackups(c.project, c.name)
if err != nil {
@@ -3282,7 +3282,7 @@ func (c *lxc) Backups() ([]backup.Backup, error) {
}
// Build the backup list
- backups := []backup.Backup{}
+ backups := []backup.InstanceBackup{}
for _, backupName := range backupNames {
backup, err := instance.BackupLoadByName(c.state, c.project, backupName)
if err != nil {
diff --git a/lxd/instance/drivers/driver_qemu.go b/lxd/instance/drivers/driver_qemu.go
index c3b3d80d35..add5943bae 100644
--- a/lxd/instance/drivers/driver_qemu.go
+++ b/lxd/instance/drivers/driver_qemu.go
@@ -2464,8 +2464,8 @@ func (vm *qemu) Snapshots() ([]instance.Instance, error) {
}
// Backups returns a list of backups.
-func (vm *qemu) Backups() ([]backup.Backup, error) {
- return []backup.Backup{}, nil
+func (vm *qemu) Backups() ([]backup.InstanceBackup, error) {
+ return []backup.InstanceBackup{}, nil
}
// Rename the instance.
diff --git a/lxd/instance/instance_interface.go b/lxd/instance/instance_interface.go
index f0c117f6e7..c89fb230a4 100644
--- a/lxd/instance/instance_interface.go
+++ b/lxd/instance/instance_interface.go
@@ -59,7 +59,7 @@ type Instance interface {
// Snapshots & migration & backups.
Restore(source Instance, stateful bool) error
Snapshots() ([]Instance, error)
- Backups() ([]backup.Backup, error)
+ Backups() ([]backup.InstanceBackup, error)
UpdateBackupFile() error
// Config handling.
diff --git a/lxd/instance/instance_utils.go b/lxd/instance/instance_utils.go
index 7af24f7ee8..c7f7892bd9 100644
--- a/lxd/instance/instance_utils.go
+++ b/lxd/instance/instance_utils.go
@@ -661,7 +661,7 @@ func DeviceNextInterfaceHWAddr() (string, error) {
}
// BackupLoadByName load an instance backup from the database.
-func BackupLoadByName(s *state.State, project, name string) (*backup.Backup, error) {
+func BackupLoadByName(s *state.State, project, name string) (*backup.InstanceBackup, error) {
// Get the backup database record
args, err := s.Cluster.GetInstanceBackup(project, name)
if err != nil {
From 1ec17df404fc48857f95a5703e629ded9fd65bce Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 26 Aug 2020 16:27:28 +0200
Subject: [PATCH 04/15] lxd: Rename backup.New to backup.NewInstance
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
lxd/backup/backup.go | 4 ++--
lxd/instance/instance_utils.go | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lxd/backup/backup.go b/lxd/backup/backup.go
index 91716d989f..dcc1c2ada1 100644
--- a/lxd/backup/backup.go
+++ b/lxd/backup/backup.go
@@ -136,8 +136,8 @@ type InstanceBackup struct {
compressionAlgorithm string
}
-// New instantiates a new Backup struct.
-func New(state *state.State, inst Instance, ID int, name string, creationDate, expiryDate time.Time, instanceOnly, optimizedStorage bool) *InstanceBackup {
+// NewInstance instantiates a new Backup struct.
+func NewInstance(state *state.State, inst Instance, ID int, name string, creationDate, expiryDate time.Time, instanceOnly, optimizedStorage bool) *InstanceBackup {
return &InstanceBackup{
state: state,
instance: inst,
diff --git a/lxd/instance/instance_utils.go b/lxd/instance/instance_utils.go
index c7f7892bd9..baeef009db 100644
--- a/lxd/instance/instance_utils.go
+++ b/lxd/instance/instance_utils.go
@@ -674,7 +674,7 @@ func BackupLoadByName(s *state.State, project, name string) (*backup.InstanceBac
return nil, errors.Wrap(err, "Load instance from database")
}
- return backup.New(s, instance, args.ID, name, args.CreationDate, args.ExpiryDate, args.InstanceOnly, args.OptimizedStorage), nil
+ return backup.NewInstance(s, instance, args.ID, name, args.CreationDate, args.ExpiryDate, args.InstanceOnly, args.OptimizedStorage), nil
}
// ResolveImage takes an instance source and returns a hash suitable for instance creation or download.
From b55ff6f89f9de98cbd2fb919cce7b3393716f5a1 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 26 Aug 2020 18:20:58 +0200
Subject: [PATCH 05/15] lxd/db/cluster: Add storage_volumes_backups table
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
lxd/db/cluster/schema.go | 13 ++++++++++++-
lxd/db/cluster/update.go | 24 ++++++++++++++++++++++++
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/lxd/db/cluster/schema.go b/lxd/db/cluster/schema.go
index 801ef76e5d..3e9227899b 100644
--- a/lxd/db/cluster/schema.go
+++ b/lxd/db/cluster/schema.go
@@ -537,6 +537,17 @@ CREATE VIEW storage_volumes_all (
storage_volumes.content_type
FROM storage_volumes
JOIN storage_volumes_snapshots ON storage_volumes.id = storage_volumes_snapshots.storage_volume_id;
+CREATE TABLE storage_volumes_backups (
+ id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+ storage_volume_id INTEGER NOT NULL,
+ name VARCHAR(255) NOT NULL,
+ creation_date DATETIME,
+ expiry_date DATETIME,
+ volume_only INTEGER NOT NULL default 0,
+ optimized_storage INTEGER NOT NULL default 0,
+ FOREIGN KEY (storage_volume_id) REFERENCES "storage_volumes" (id) ON DELETE CASCADE,
+ UNIQUE (storage_volume_id, name)
+);
CREATE TRIGGER storage_volumes_check_id
BEFORE INSERT ON storage_volumes
WHEN NEW.id IN (SELECT id FROM storage_volumes_snapshots)
@@ -578,5 +589,5 @@ CREATE TABLE storage_volumes_snapshots_config (
UNIQUE (storage_volume_snapshot_id, key)
);
-INSERT INTO schema (version, updated_at) VALUES (38, strftime("%s"))
+INSERT INTO schema (version, updated_at) VALUES (39, strftime("%s"))
`
diff --git a/lxd/db/cluster/update.go b/lxd/db/cluster/update.go
index 72d24ac6e5..750097c693 100644
--- a/lxd/db/cluster/update.go
+++ b/lxd/db/cluster/update.go
@@ -75,6 +75,30 @@ var updates = map[int]schema.Update{
36: updateFromV35,
37: updateFromV36,
38: updateFromV37,
+ 39: updateFromV38,
+}
+
+// Add storage_volumes_backups table.
+func updateFromV38(tx *sql.Tx) error {
+ stmt := `
+CREATE TABLE storage_volumes_backups (
+ id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+ storage_volume_id INTEGER NOT NULL,
+ name VARCHAR(255) NOT NULL,
+ creation_date DATETIME,
+ expiry_date DATETIME,
+ volume_only INTEGER NOT NULL default 0,
+ optimized_storage INTEGER NOT NULL default 0,
+ FOREIGN KEY (storage_volume_id) REFERENCES "storage_volumes" (id) ON DELETE CASCADE,
+ UNIQUE (storage_volume_id, name)
+);
+`
+ _, err := tx.Exec(stmt)
+ if err != nil {
+ return err
+ }
+
+ return nil
}
// Attempt to add missing project features.networks feature to default project.
From 7e840a75c7684617b3eb021f5b2368eb4ebfc03b Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 2 Sep 2020 22:05:50 +0200
Subject: [PATCH 06/15] shared/api: Add custom volume backup structs
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
shared/api/storage_pool_volume.go | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/shared/api/storage_pool_volume.go b/shared/api/storage_pool_volume.go
index 85950c8461..6874ab564e 100644
--- a/shared/api/storage_pool_volume.go
+++ b/shared/api/storage_pool_volume.go
@@ -1,5 +1,7 @@
package api
+import "time"
+
// StorageVolumesPost represents the fields of a new LXD storage pool volume
//
// API extension: storage
@@ -91,6 +93,35 @@ type StorageVolumeSource struct {
VolumeOnly bool `json:"volume_only" yaml:"volume_only"`
}
+// StoragePoolVolumeBackup represents a LXD volume backup.
+//
+// API extension: custom_volume_backup
+type StoragePoolVolumeBackup struct {
+ Name string `json:"name" yaml:"name"`
+ CreatedAt time.Time `json:"created_at" yaml:"created_at"`
+ ExpiresAt time.Time `json:"expires_at" yaml:"expires_at"`
+ VolumeOnly bool `json:"volume_only" yaml:"volume_only"`
+ OptimizedStorage bool `json:"optimized_storage" yaml:"optimized_storage"`
+}
+
+// StoragePoolVolumeBackupsPost represents the fields available for a new LXD volume backup.
+//
+// API extension: custom_volume_backup
+type StoragePoolVolumeBackupsPost struct {
+ Name string `json:"name" yaml:"name"`
+ ExpiresAt time.Time `json:"expires_at" yaml:"expires_at"`
+ VolumeOnly bool `json:"volume_only" yaml:"volume_only"`
+ OptimizedStorage bool `json:"optimized_storage" yaml:"optimized_storage"`
+ CompressionAlgorithm string `json:"compression_algorithm" yaml:"compression_algorithm"`
+}
+
+// StoragePoolVolumeBackupPost represents the fields available for the renaming of a volume backup.
+//
+// API extension: custom_volume_backup
+type StoragePoolVolumeBackupPost struct {
+ Name string `json:"name" yaml:"name"`
+}
+
// Writable converts a full StorageVolume struct into a StorageVolumePut struct
// (filters read-only fields).
func (storageVolume *StorageVolume) Writable() StorageVolumePut {
From 7eb03618aa761f8664dd6d47ce6346fc2dff0f38 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 26 Aug 2020 18:22:57 +0200
Subject: [PATCH 07/15] client: Add custom volume backup functions
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
client/interfaces.go | 17 ++++
client/lxd_storage_volumes.go | 185 ++++++++++++++++++++++++++++++++++
2 files changed, 202 insertions(+)
diff --git a/client/interfaces.go b/client/interfaces.go
index e0dfdd59cf..e676a12cdc 100644
--- a/client/interfaces.go
+++ b/client/interfaces.go
@@ -283,6 +283,16 @@ type InstanceServer interface {
RenameStoragePoolVolumeSnapshot(pool string, volumeType string, volumeName string, snapshotName string, snapshot api.StorageVolumeSnapshotPost) (op Operation, err error)
UpdateStoragePoolVolumeSnapshot(pool string, volumeType string, volumeName string, snapshotName string, volume api.StorageVolumeSnapshotPut, ETag string) (err error)
+ // Storage volume backup functions ("custom_volume_backup" API extension)
+ GetStoragePoolVolumeBackupNames(pool string, volName string) (names []string, err error)
+ GetStoragePoolVolumeBackups(pool string, volName string) (backups []api.StoragePoolVolumeBackup, err error)
+ GetStoragePoolVolumeBackup(pool string, volName string, name string) (backup *api.StoragePoolVolumeBackup, ETag string, err error)
+ CreateStoragePoolVolumeBackup(pool string, volName string, backup api.StoragePoolVolumeBackupsPost) (op Operation, err error)
+ RenameStoragePoolVolumeBackup(pool string, volName string, name string, backup api.StoragePoolVolumeBackupPost) (op Operation, err error)
+ DeleteStoragePoolVolumeBackup(pool string, volName string, name string) (op Operation, err error)
+ GetStoragePoolVolumeBackupFile(pool string, volName string, name string, req *BackupFileRequest) (resp *BackupFileResponse, err error)
+ CreateStoragePoolVolumeFromBackup(pool string, args StoragePoolVolumeBackupArgs) (op Operation, err error)
+
// Cluster functions ("cluster" API extensions)
GetCluster() (cluster *api.Cluster, ETag string, err error)
UpdateCluster(cluster api.ClusterPut, ETag string) (op Operation, err error)
@@ -422,6 +432,13 @@ type StoragePoolVolumeMoveArgs struct {
StoragePoolVolumeCopyArgs
}
+// The StoragePoolVolumeBackupArgs struct is used when creating a storage volume from a backup.
+// API extension: custom_volume_backup
+type StoragePoolVolumeBackupArgs struct {
+ // The backup file
+ BackupFile io.Reader
+}
+
// The InstanceBackupArgs struct is used when creating a instance from a backup.
type InstanceBackupArgs struct {
// The backup file
diff --git a/client/lxd_storage_volumes.go b/client/lxd_storage_volumes.go
index 368255b2d2..732c9ede2f 100644
--- a/client/lxd_storage_volumes.go
+++ b/client/lxd_storage_volumes.go
@@ -2,10 +2,15 @@ package lxd
import (
"fmt"
+ "io"
+ "net/http"
"net/url"
"strings"
"github.com/lxc/lxd/shared/api"
+ "github.com/lxc/lxd/shared/cancel"
+ "github.com/lxc/lxd/shared/ioprogress"
+ "github.com/lxc/lxd/shared/units"
)
// Storage volumes handling function
@@ -607,3 +612,183 @@ func (r *ProtocolLXD) RenameStoragePoolVolume(pool string, volType string, name
return nil
}
+
+// GetStoragePoolVolumeBackupNames returns a list of volume backup names.
+func (r *ProtocolLXD) GetStoragePoolVolumeBackupNames(pool string, volName string) ([]string, error) {
+ if !r.HasExtension("custom_volume_backup") {
+ return nil, fmt.Errorf("The server is missing the required \"custom_volume_backup\" API extension")
+ }
+
+ // Fetch the raw value
+ urls := []string{}
+ _, err := r.queryStruct("GET", fmt.Sprintf("/storage-pools/%s/volumes/custom/%s/backups", url.PathEscape(pool), url.PathEscape(volName)), nil, "", &urls)
+ if err != nil {
+ return nil, err
+ }
+
+ // Parse it
+ names := []string{}
+ for _, uri := range urls {
+ fields := strings.Split(uri, fmt.Sprintf("/storage-pools/%s/volumes/custom/%s/backups", url.PathEscape(pool), url.PathEscape(volName)))
+ names = append(names, fields[len(fields)-1])
+ }
+
+ return names, nil
+}
+
+// GetStoragePoolVolumeBackups returns a list of custom volume backups.
+func (r *ProtocolLXD) GetStoragePoolVolumeBackups(pool string, volName string) ([]api.StoragePoolVolumeBackup, error) {
+ if !r.HasExtension("custom_volume_backup") {
+ return nil, fmt.Errorf("The server is missing the required \"custom_volume_backup\" API extension")
+ }
+
+ // Fetch the raw value
+ backups := []api.StoragePoolVolumeBackup{}
+
+ _, err := r.queryStruct("GET", fmt.Sprintf("/storage-pools/%s/volumes/custom/%s/backups?recursion=1", url.PathEscape(pool), url.PathEscape(volName)), nil, "", &backups)
+ if err != nil {
+ return nil, err
+ }
+
+ return backups, nil
+}
+
+// GetStoragePoolVolumeBackup returns a custom volume backup.
+func (r *ProtocolLXD) GetStoragePoolVolumeBackup(pool string, volName string, name string) (*api.StoragePoolVolumeBackup, string, error) {
+ if !r.HasExtension("custom_volume_backup") {
+ return nil, "", fmt.Errorf("The server is missing the required \"custom_volume_backup\" API extension")
+ }
+
+ // Fetch the raw value
+ backup := api.StoragePoolVolumeBackup{}
+ etag, err := r.queryStruct("GET", fmt.Sprintf("/storage-pools/%s/volumes/custom/%s/backups/%s", url.PathEscape(pool), url.PathEscape(volName), url.PathEscape(name)), nil, "", &backup)
+ if err != nil {
+ return nil, "", err
+ }
+
+ return &backup, etag, nil
+}
+
+// CreateStoragePoolVolumeBackup creates new custom volume backup.
+func (r *ProtocolLXD) CreateStoragePoolVolumeBackup(pool string, volName string, backup api.StoragePoolVolumeBackupsPost) (Operation, error) {
+ if !r.HasExtension("custom_volume_backup") {
+ return nil, fmt.Errorf("The server is missing the required \"custom_volume_backup\" API extension")
+ }
+
+ // Send the request
+ op, _, err := r.queryOperation("POST", fmt.Sprintf("/storage-pools/%s/volumes/custom/%s/backups", url.PathEscape(pool), url.PathEscape(volName)), backup, "")
+ if err != nil {
+ return nil, err
+ }
+
+ return op, nil
+
+}
+
+// RenameStoragePoolVolumeBackup renames a custom volume backup.
+func (r *ProtocolLXD) RenameStoragePoolVolumeBackup(pool string, volName string, name string, backup api.StoragePoolVolumeBackupPost) (Operation, error) {
+ if !r.HasExtension("custom_volume_backup") {
+ return nil, fmt.Errorf("The server is missing the required \"custom_volume_backup\" API extension")
+ }
+
+ // Send the request
+ op, _, err := r.queryOperation("POST", fmt.Sprintf("/storage-pools/%s/volumes/custom/%s/backups/%s", url.PathEscape(pool), url.PathEscape(volName), url.PathEscape(name)), backup, "")
+ if err != nil {
+ return nil, err
+ }
+
+ return op, nil
+}
+
+// DeleteStoragePoolVolumeBackup deletes a custom volume backup.
+func (r *ProtocolLXD) DeleteStoragePoolVolumeBackup(pool string, volName string, name string) (Operation, error) {
+ if !r.HasExtension("custom_volume_backup") {
+ return nil, fmt.Errorf("The server is missing the required \"custom_volume_backup\" API extension")
+ }
+
+ // Send the request
+ op, _, err := r.queryOperation("DELETE", fmt.Sprintf("/storage-pools/%s/volumes/custom/%s/backups/%s", url.PathEscape(pool), url.PathEscape(volName), url.PathEscape(name)), nil, "")
+ if err != nil {
+ return nil, err
+ }
+
+ return op, nil
+}
+
+// GetStoragePoolVolumeBackupFile requests the custom volume backup content.
+func (r *ProtocolLXD) GetStoragePoolVolumeBackupFile(pool string, volName string, name string, req *BackupFileRequest) (*BackupFileResponse, error) {
+ if !r.HasExtension("custom_volume_backup") {
+ return nil, fmt.Errorf("The server is missing the required \"custom_volume_backup\" API extension")
+ }
+
+ // Build the URL
+ uri := fmt.Sprintf("%s/1.0/storage-pools/%s/volumes/custom/%s/backups/%s/export", r.httpHost, url.PathEscape(pool), url.PathEscape(volName), url.PathEscape(name))
+
+ if r.project != "" {
+ uri += fmt.Sprintf("?project=%s", url.QueryEscape(r.project))
+ }
+
+ // Prepare the download request
+ request, err := http.NewRequest("GET", uri, nil)
+ if err != nil {
+ return nil, err
+ }
+
+ if r.httpUserAgent != "" {
+ request.Header.Set("User-Agent", r.httpUserAgent)
+ }
+
+ // Start the request
+ response, doneCh, err := cancel.CancelableDownload(req.Canceler, r.http, request)
+ if err != nil {
+ return nil, err
+ }
+ defer response.Body.Close()
+ defer close(doneCh)
+
+ if response.StatusCode != http.StatusOK {
+ _, _, err := lxdParseResponse(response)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ // Handle the data
+ body := response.Body
+ if req.ProgressHandler != nil {
+ body = &ioprogress.ProgressReader{
+ ReadCloser: response.Body,
+ Tracker: &ioprogress.ProgressTracker{
+ Length: response.ContentLength,
+ Handler: func(percent int64, speed int64) {
+ req.ProgressHandler(ioprogress.ProgressData{Text: fmt.Sprintf("%d%% (%s/s)", percent, units.GetByteSizeString(speed, 2))})
+ },
+ },
+ }
+ }
+
+ size, err := io.Copy(req.BackupFile, body)
+ if err != nil {
+ return nil, err
+ }
+
+ resp := BackupFileResponse{}
+ resp.Size = size
+
+ return &resp, nil
+}
+
+// CreateStoragePoolVolumeFromBackup is a convenience function to make it easier to
+// create a custom volume from a backup.
+func (r *ProtocolLXD) CreateStoragePoolVolumeFromBackup(pool string, args StoragePoolVolumeBackupArgs) (Operation, error) {
+ if !r.HasExtension("custom_volume_backup") {
+ return nil, fmt.Errorf("The server is missing the required \"custom_volume_backup\" API extension")
+ }
+ // Send the request
+ op, _, err := r.queryOperation("POST", fmt.Sprintf("/storage-pools/%s/volumes", url.PathEscape(pool)), args.BackupFile, "")
+ if err != nil {
+ return nil, err
+ }
+
+ return op, nil
+}
From 891b7de09b74dc5d75feaa1f2252e6439752e811 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 2 Sep 2020 21:58:41 +0200
Subject: [PATCH 08/15] doc/api-extensions: Add custom_volume_backup
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
doc/api-extensions.md | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/doc/api-extensions.md b/doc/api-extensions.md
index 3edc55df21..d72b0b7084 100644
--- a/doc/api-extensions.md
+++ b/doc/api-extensions.md
@@ -1151,3 +1151,21 @@ Also introduces two new global config keys that apply to all `ovn` networks and
- network.ovn.integration\_bridge - the OVS integration bridge to use.
- network.ovn.northbound\_connection - the OVN northbound database connection string.
+
+## custom\_volume\_backup
+Add custom volume backup support.
+
+This includes the following new endpoints (see [RESTful API](rest-api.md) for details):
+
+* `GET /1.0/storage-pools/<pool>/<type>/<volume>/backups`
+* `POST /1.0/storage-pools/<pool>/<type>/<volume>/backups`
+
+* `GET /1.0/storage-pools/<pool>/<type>/<volume>/backups/<name>`
+* `POST /1.0/storage-pools/<pool>/<type>/<volume>/backups/<name>`
+* `DELETE /1.0/storage-pools/<pool>/<type>/<volume>/backups/<name>`
+
+* `GET /1.0/storage-pools/<pool>/<type>/<volume>/backups/<name>/export`
+
+The following existing endpoint has been modified:
+
+ * `POST /1.0/storage-pools/<pool>/<type>/<volume>` accepts the new source type `backup`
From 993ac5ef3a1e9ce0dc4fb4159226bd0f9f762472 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 2 Sep 2020 22:05:18 +0200
Subject: [PATCH 09/15] lxd/db: Handle custom volume backups
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
lxd/db/backups.go | 229 ++++++++++++++++++++++++++++-
lxd/db/operations_types.go | 20 +++
lxd/db/storage_volume_snapshots.go | 21 +++
3 files changed, 269 insertions(+), 1 deletion(-)
diff --git a/lxd/db/backups.go b/lxd/db/backups.go
index d22892d4df..65b5831a51 100644
--- a/lxd/db/backups.go
+++ b/lxd/db/backups.go
@@ -12,7 +12,7 @@ import (
log "github.com/lxc/lxd/shared/log15"
)
-// InstanceBackup is a value object holding all db-related details about a backup.
+// InstanceBackup is a value object holding all db-related details about an instance backup.
type InstanceBackup struct {
ID int
InstanceID int
@@ -24,6 +24,18 @@ type InstanceBackup struct {
CompressionAlgorithm string
}
+// StoragePoolVolumeBackup is a value object holding all db-related details about a storage volume backup.
+type StoragePoolVolumeBackup struct {
+ ID int
+ VolumeID int64
+ Name string
+ CreationDate time.Time
+ ExpiryDate time.Time
+ VolumeOnly bool
+ OptimizedStorage bool
+ CompressionAlgorithm string
+}
+
// Returns the ID of the instance backup with the given name.
func (c *Cluster) getInstanceBackupID(name string) (int, error) {
q := "SELECT id FROM instances_backups WHERE name=?"
@@ -225,3 +237,218 @@ func (c *Cluster) GetExpiredInstanceBackups() ([]InstanceBackup, error) {
return result, nil
}
+
+// GetStoragePoolVolumeBackups returns a list of volume backups.
+func (c *Cluster) GetStoragePoolVolumeBackups(project, volumeName string, poolID int64) ([]StoragePoolVolumeBackup, error) {
+ var backupID int
+ var volumeID int64
+ var volName string
+ var creationDate string
+ var expiryDate string
+ var volumeOnly int
+ var optimizedStorage int
+ var result []StoragePoolVolumeBackup
+
+ q := `
+SELECT storage_volumes_backups.*
+FROM storage_volumes_backups
+JOIN storage_volumes ON storage_volumes.id=storage_volumes_backups.id
+JOIN projects ON projects.id=storage_volumes.project_id
+WHERE projects.name=? AND storage_volumes.name=? AND storage_volumes.storage_pool_id=?
+ORDER BY storage_volumes_backups.id
+`
+
+ inargs := []interface{}{project, volumeName, poolID}
+ outfmt := []interface{}{backupID, volumeID, volName, creationDate, expiryDate, volumeOnly, optimizedStorage}
+
+ dbResults, err := queryScan(c, q, inargs, outfmt)
+ if err != nil {
+ return nil, err
+ }
+
+ for _, r := range dbResults {
+ backup := StoragePoolVolumeBackup{
+ ID: r[0].(int),
+ VolumeID: r[1].(int64),
+ Name: r[2].(string),
+ }
+
+ backup.VolumeOnly = r[5].(int) == 1
+ backup.OptimizedStorage = r[6].(int) == 1
+
+ err = backup.CreationDate.UnmarshalText([]byte(r[3].(string)))
+ if err != nil {
+ return nil, err
+ }
+
+ err = backup.ExpiryDate.UnmarshalText([]byte(r[4].(string)))
+ if err != nil {
+ return nil, err
+ }
+
+ result = append(result, backup)
+ }
+
+ return result, nil
+}
+
+// GetStoragePoolVolumeBackupsNames returns the names of all backups of the storage volume with the
+// given name.
+func (c *Cluster) GetStoragePoolVolumeBackupsNames(project, volumeName string, poolID int64) ([]string, error) {
+ var result []string
+
+ q := `SELECT storage_volumes_backups.name FROM storage_volumes_backups
+JOIN storage_volumes ON storage_volumes_backups.storage_volume_id=storage_volumes.id
+JOIN projects ON projects.id=storage_volumes.project_id
+WHERE projects.name=? AND storage_volumes.name=?
+ORDER BY storage_volumes_backups.id`
+ inargs := []interface{}{project, volumeName}
+ outfmt := []interface{}{volumeName}
+ dbResults, err := queryScan(c, q, inargs, outfmt)
+ if err != nil {
+ return nil, err
+ }
+
+ for _, r := range dbResults {
+ result = append(result, r[0].(string))
+ }
+
+ return result, nil
+}
+
+// CreateStoragePoolVolumeBackup creates a new storage volume backup.
+func (c *Cluster) CreateStoragePoolVolumeBackup(args StoragePoolVolumeBackup) error {
+ _, err := c.getStoragePoolVolumeBackupID(args.Name)
+ if err == nil {
+ return ErrAlreadyDefined
+ }
+
+ err = c.Transaction(func(tx *ClusterTx) error {
+ volumeOnlyInt := 0
+ if args.VolumeOnly {
+ volumeOnlyInt = 1
+ }
+
+ optimizedStorageInt := 0
+ if args.OptimizedStorage {
+ optimizedStorageInt = 1
+ }
+
+ str := fmt.Sprintf("INSERT INTO storage_volumes_backups (storage_volume_id, name, creation_date, expiry_date, volume_only, optimized_storage) VALUES (?, ?, ?, ?, ?, ?)")
+ stmt, err := tx.tx.Prepare(str)
+ if err != nil {
+ return err
+ }
+ defer stmt.Close()
+ result, err := stmt.Exec(args.VolumeID, args.Name,
+ args.CreationDate.Unix(), args.ExpiryDate.Unix(), volumeOnlyInt,
+ optimizedStorageInt)
+ if err != nil {
+ return err
+ }
+
+ _, err = result.LastInsertId()
+ if err != nil {
+ return fmt.Errorf("Error inserting %q into database", args.Name)
+ }
+
+ return nil
+ })
+
+ return err
+}
+
+// Returns the ID of the storage volume backup with the given name.
+func (c *Cluster) getStoragePoolVolumeBackupID(name string) (int, error) {
+ q := "SELECT id FROM storage_volumes_backups WHERE name=?"
+ id := -1
+ arg1 := []interface{}{name}
+ arg2 := []interface{}{&id}
+ err := dbQueryRowScan(c, q, arg1, arg2)
+ if err == sql.ErrNoRows {
+ return -1, ErrNoSuchObject
+ }
+
+ return id, err
+}
+
+// DeleteStoragePoolVolumeBackup removes the storage volume backup with the given name from the database.
+func (c *Cluster) DeleteStoragePoolVolumeBackup(name string) error {
+ id, err := c.getStoragePoolVolumeBackupID(name)
+ if err != nil {
+ return err
+ }
+
+ err = exec(c, "DELETE FROM storage_volumes_backups WHERE id=?", id)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// GetStoragePoolVolumeBackup returns the volume backup with the given name.
+func (c *Cluster) GetStoragePoolVolumeBackup(projectName string, poolName string, backupName string) (StoragePoolVolumeBackup, error) {
+ args := StoragePoolVolumeBackup{}
+ args.Name = backupName
+
+ volumeOnlyInt := -1
+ optimizedStorageInt := -1
+ q := `
+SELECT storage_volumes_backups.id, storage_volumes_backups.storage_volume_id,
+ storage_volumes_backups.creation_date, storage_volumes_backups.expiry_date,
+ storage_volumes_backups.volume_only, storage_volumes_backups.optimized_storage
+ FROM storage_volumes_backups
+ JOIN storage_volumes ON storage_volumes.id=storage_volumes_backups.storage_volume_id
+ JOIN projects ON projects.id=storage_volumes.project_id
+ WHERE projects.name=? AND storage_volumes_backups.name=?
+`
+ arg1 := []interface{}{projectName, backupName}
+ arg2 := []interface{}{&args.ID, &args.VolumeID, &args.CreationDate,
+ &args.ExpiryDate, &volumeOnlyInt, &optimizedStorageInt}
+
+ err := dbQueryRowScan(c, q, arg1, arg2)
+ if err != nil {
+ if err == sql.ErrNoRows {
+ return args, ErrNoSuchObject
+ }
+
+ return args, err
+ }
+
+ if volumeOnlyInt == 1 {
+ args.VolumeOnly = true
+ }
+
+ if optimizedStorageInt == 1 {
+ args.OptimizedStorage = true
+ }
+
+ return args, nil
+}
+
+// RenameVolumeBackup renames a volume backup from the given current name
+// to the new one.
+func (c *Cluster) RenameVolumeBackup(oldName, newName string) error {
+ err := c.Transaction(func(tx *ClusterTx) error {
+ str := fmt.Sprintf("UPDATE storage_volumes_backups SET name = ? WHERE name = ?")
+ stmt, err := tx.tx.Prepare(str)
+ if err != nil {
+ return err
+ }
+ defer stmt.Close()
+
+ logger.Debug(
+ "Calling SQL Query",
+ log.Ctx{
+ "query": "UPDATE storage_volumes_backups SET name = ? WHERE name = ?",
+ "oldName": oldName,
+ "newName": newName})
+ if _, err := stmt.Exec(newName, oldName); err != nil {
+ return err
+ }
+
+ return nil
+ })
+ return err
+}
diff --git a/lxd/db/operations_types.go b/lxd/db/operations_types.go
index 3ff629a5d6..893a6db4ea 100644
--- a/lxd/db/operations_types.go
+++ b/lxd/db/operations_types.go
@@ -56,6 +56,10 @@ const (
OperationBackupsExpire
OperationSnapshotsExpire
OperationCustomVolumeSnapshotsExpire
+ OperationCustomVolumeBackupCreate
+ OperationCustomVolumeBackupRemove
+ OperationCustomVolumeBackupRename
+ OperationCustomVolumeBackupRestore
)
// Description return a human-readable description of the operation type.
@@ -153,6 +157,14 @@ func (t OperationType) Description() string {
return "Cleaning up expired instance snapshots"
case OperationCustomVolumeSnapshotsExpire:
return "Cleaning up expired volume snapshots"
+ case OperationCustomVolumeBackupCreate:
+ return "Creating custom volume backup"
+ case OperationCustomVolumeBackupRemove:
+ return "Deleting custom volume backup"
+ case OperationCustomVolumeBackupRename:
+ return "Renaming custom volume backup"
+ case OperationCustomVolumeBackupRestore:
+ return "Restoring custom volume backup"
default:
return "Executing operation"
}
@@ -224,6 +236,14 @@ func (t OperationType) Permission() string {
case OperationCustomVolumeSnapshotsExpire:
return "operate-volumes"
+ case OperationCustomVolumeBackupCreate:
+ return "manage-storage-volumes"
+ case OperationCustomVolumeBackupRemove:
+ return "manage-storage-volumes"
+ case OperationCustomVolumeBackupRename:
+ return "manage-storage-volumes"
+ case OperationCustomVolumeBackupRestore:
+ return "manage-storage-volumes"
}
return ""
diff --git a/lxd/db/storage_volume_snapshots.go b/lxd/db/storage_volume_snapshots.go
index 2fbb390732..e0755d8d33 100644
--- a/lxd/db/storage_volume_snapshots.go
+++ b/lxd/db/storage_volume_snapshots.go
@@ -103,6 +103,27 @@ func (c *Cluster) UpdateStorageVolumeSnapshot(project, volumeName string, volume
return err
}
+// GetStorageVolumeSnapshotsNames gets the snapshot names of a storage volume.
+func (c *Cluster) GetStorageVolumeSnapshotsNames(volumeID int64) ([]string, error) {
+ var snapshotName string
+ query := "SELECT name FROM storage_volumes_snapshots WHERE storage_volume_id=?"
+ inargs := []interface{}{volumeID}
+ outargs := []interface{}{snapshotName}
+
+ result, err := queryScan(c, query, inargs, outargs)
+ if err != nil {
+ return []string{}, err
+ }
+
+ var out []string
+
+ for _, r := range result {
+ out = append(out, r[0].(string))
+ }
+
+ return out, nil
+}
+
// GetStorageVolumeSnapshotExpiry gets the expiry date of a storage volume snapshot.
func (c *Cluster) GetStorageVolumeSnapshotExpiry(volumeID int64) (time.Time, error) {
var expiry time.Time
From 90af1e756a71f8c9b756be899803fbf744d1a164 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 2 Sep 2020 22:11:38 +0200
Subject: [PATCH 10/15] lxd: Add custom volume backup functionality
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
lxd/backup.go | 2 +-
lxd/backup/backup.go | 164 +++++++++++++++++++++++++++++++++++++++---
lxd/instances_post.go | 2 +-
3 files changed, 158 insertions(+), 10 deletions(-)
diff --git a/lxd/backup.go b/lxd/backup.go
index a938311e14..685bc1eb00 100644
--- a/lxd/backup.go
+++ b/lxd/backup.go
@@ -282,7 +282,7 @@ func pruneExpiredContainerBackups(ctx context.Context, d *Daemon) error {
return errors.Wrapf(err, "Error deleting instance backup %s", b.Name)
}
- err = backup.DoBackupDelete(d.State(), inst.Project(), b.Name, inst.Name())
+ err = backup.DoInstanceBackupDelete(d.State(), inst.Project(), b.Name, inst.Name())
if err != nil {
return errors.Wrapf(err, "Error deleting instance backup %s", b.Name)
}
diff --git a/lxd/backup/backup.go b/lxd/backup/backup.go
index dcc1c2ada1..ea9acd34e4 100644
--- a/lxd/backup/backup.go
+++ b/lxd/backup/backup.go
@@ -33,11 +33,12 @@ type Info struct {
Snapshots []string `json:"snapshots,omitempty" yaml:"snapshots,omitempty"`
OptimizedStorage *bool `json:"optimized,omitempty" yaml:"optimized,omitempty"` // Optional field to handle older optimized backups that don't have this field.
OptimizedHeader *bool `json:"optimized_header,omitempty" yaml:"optimized_header,omitempty"` // Optional field to handle older optimized backups that don't have this field.
- Type api.InstanceType `json:"type" yaml:"type"`
+ Type api.InstanceType `json:"type,omitempty" yaml:"type,omitempty"` // Type is only set for instance backups.
+ ContentType string `json:"content_Type,omitempty" yaml:"content_type,omitempty"` // ContentType is only set for custom volumes as there is no other way of knowing what kind it is.
}
// GetInfo extracts backup information from a given ReadSeeker.
-func GetInfo(r io.ReadSeeker) (*Info, error) {
+func GetInfo(r io.ReadSeeker, isInstance bool) (*Info, error) {
result := Info{}
hasIndexFile := false
@@ -80,8 +81,12 @@ func GetInfo(r io.ReadSeeker) (*Info, error) {
hasIndexFile = true
// Default to container if index doesn't specify instance type.
- if result.Type == api.InstanceTypeAny {
- result.Type = api.InstanceTypeContainer
+ if isInstance {
+ if result.Type == api.InstanceTypeAny {
+ result.Type = api.InstanceTypeContainer
+ }
+ } else {
+ result.Type = ""
}
// Default to no optimized header if not specified.
@@ -102,7 +107,7 @@ func GetInfo(r io.ReadSeeker) (*Info, error) {
}
// If the tarball contains a binary dump of the container, then this is an optimized backup.
- if hdr.Name == "backup/container.bin" {
+ if hdr.Name == "backup/container.bin" || hdr.Name == "backup/volume.bin" {
optimizedStorageTrue := true
result.OptimizedStorage = &optimizedStorageTrue
@@ -136,6 +141,23 @@ type InstanceBackup struct {
compressionAlgorithm string
}
+// VolumeBackup represents an instance backup
+type VolumeBackup struct {
+ state *state.State
+ projectName string
+ poolName string
+ volumeName string
+
+ // Properties
+ id int
+ name string
+ creationDate time.Time
+ expiryDate time.Time
+ volumeOnly bool
+ optimizedStorage bool
+ compressionAlgorithm string
+}
+
// NewInstance instantiates a new Backup struct.
func NewInstance(state *state.State, inst Instance, ID int, name string, creationDate, expiryDate time.Time, instanceOnly, optimizedStorage bool) *InstanceBackup {
return &InstanceBackup{
@@ -216,7 +238,7 @@ func (b *InstanceBackup) Rename(newName string) error {
// Delete removes an instance backup
func (b *InstanceBackup) Delete() error {
- return DoBackupDelete(b.state, b.instance.Project(), b.name, b.instance.Name())
+ return DoInstanceBackupDelete(b.state, b.instance.Project(), b.name, b.instance.Name())
}
// Render returns an InstanceBackup struct of the backup.
@@ -231,8 +253,104 @@ func (b *InstanceBackup) Render() *api.InstanceBackup {
}
}
-// DoBackupDelete deletes a backup.
-func DoBackupDelete(s *state.State, projectName, backupName, containerName string) error {
+// NewVolume instantiates a new Backup struct.
+func NewVolume(state *state.State, projectName, poolName, volumeName string, ID int, name string, creationDate, expiryDate time.Time, volumeOnly, optimizedStorage bool) *VolumeBackup {
+ return &VolumeBackup{
+ state: state,
+ projectName: projectName,
+ poolName: poolName,
+ volumeName: volumeName,
+ id: ID,
+ name: name,
+ creationDate: creationDate,
+ expiryDate: expiryDate,
+ volumeOnly: volumeOnly,
+ optimizedStorage: optimizedStorage,
+ }
+}
+
+// CompressionAlgorithm returns the compression used for the tarball.
+func (b *VolumeBackup) CompressionAlgorithm() string {
+ return b.compressionAlgorithm
+}
+
+// SetCompressionAlgorithm sets the tarball compression.
+func (b *VolumeBackup) SetCompressionAlgorithm(compression string) {
+ b.compressionAlgorithm = compression
+}
+
+// VolumeOnly returns whether only the volume itself is to be backed up.
+func (b *VolumeBackup) VolumeOnly() bool {
+ return b.volumeOnly
+}
+
+// Name returns the name of the backup.
+func (b *VolumeBackup) Name() string {
+ return b.name
+}
+
+// OptimizedStorage returns whether the backup is to be performed using
+// optimization supported by the storage driver.
+func (b *VolumeBackup) OptimizedStorage() bool {
+ return b.optimizedStorage
+}
+
+// Rename renames a container backup
+func (b *VolumeBackup) Rename(newName string) error {
+ oldBackupPath := shared.VarPath("storage-pools", b.poolName, "custom-backups", project.StorageVolume(b.projectName, b.name))
+ newBackupPath := shared.VarPath("storage-pools", b.poolName, "custom-backups", project.StorageVolume(b.projectName, newName))
+
+ // Create the new backup path
+ backupsPath := shared.VarPath("storage-pools", b.poolName, "custom-backups", project.StorageVolume(b.projectName, b.volumeName))
+ if !shared.PathExists(backupsPath) {
+ err := os.MkdirAll(backupsPath, 0700)
+ if err != nil {
+ return err
+ }
+ }
+
+ // Rename the backup directory
+ err := os.Rename(oldBackupPath, newBackupPath)
+ if err != nil {
+ return err
+ }
+
+ // Check if we can remove the container directory
+ empty, _ := shared.PathIsEmpty(backupsPath)
+ if empty {
+ err := os.Remove(backupsPath)
+ if err != nil {
+ return err
+ }
+ }
+
+ // Rename the database record
+ err = b.state.Cluster.RenameVolumeBackup(b.name, newName)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// Delete removes a volume backup
+func (b *VolumeBackup) Delete() error {
+ return DoVolumeBackupDelete(b.state, b.projectName, b.poolName, b.name, b.volumeName)
+}
+
+// Render returns a VolumeBackup struct of the backup.
+func (b *VolumeBackup) Render() *api.StoragePoolVolumeBackup {
+ return &api.StoragePoolVolumeBackup{
+ Name: strings.SplitN(b.name, "/", 2)[1],
+ CreatedAt: b.creationDate,
+ ExpiresAt: b.expiryDate,
+ VolumeOnly: b.volumeOnly,
+ OptimizedStorage: b.optimizedStorage,
+ }
+}
+
+// DoInstanceBackupDelete deletes a backup.
+func DoInstanceBackupDelete(s *state.State, projectName, backupName, containerName string) error {
backupPath := shared.VarPath("backups", project.Instance(projectName, backupName))
// Delete the on-disk data
@@ -261,3 +379,33 @@ func DoBackupDelete(s *state.State, projectName, backupName, containerName strin
return nil
}
+
+// DoVolumeBackupDelete deletes a volume backup.
+func DoVolumeBackupDelete(s *state.State, projectName, poolName, backupName, volumeName string) error {
+ backupPath := shared.VarPath("storage-pools", poolName, "custom-backups", project.StorageVolume(projectName, backupName))
+ // Delete the on-disk data
+ if shared.PathExists(backupPath) {
+ err := os.RemoveAll(backupPath)
+ if err != nil {
+ return err
+ }
+ }
+
+ // Check if we can remove the container directory
+ backupsPath := shared.VarPath("storage-pools", poolName, "custom-backups", project.StorageVolume(projectName, volumeName))
+ empty, _ := shared.PathIsEmpty(backupsPath)
+ if empty {
+ err := os.Remove(backupsPath)
+ if err != nil {
+ return err
+ }
+ }
+
+ // Remove the database record
+ err := s.Cluster.DeleteStoragePoolVolumeBackup(backupName)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/lxd/instances_post.go b/lxd/instances_post.go
index b3a83e89b8..dfcaa176c9 100644
--- a/lxd/instances_post.go
+++ b/lxd/instances_post.go
@@ -598,7 +598,7 @@ func createFromBackup(d *Daemon, project string, data io.Reader, pool string) re
// Parse the backup information.
backupFile.Seek(0, 0)
logger.Debug("Reading backup file info")
- bInfo, err := backup.GetInfo(backupFile)
+ bInfo, err := backup.GetInfo(backupFile, true)
if err != nil {
return response.BadRequest(err)
}
From 7faf55116d8fe2da3c098885e9291f4be774d9ab Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 2 Sep 2020 22:02:03 +0200
Subject: [PATCH 11/15] lxd/storage: Handle custom volume backups
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
lxd/storage/backend_lxd.go | 84 +++++++++++++++++++++
lxd/storage/backend_mock.go | 8 ++
lxd/storage/drivers/driver_btrfs_volumes.go | 8 ++
lxd/storage/drivers/driver_zfs_volumes.go | 8 ++
lxd/storage/drivers/generic_vfs.go | 31 +++++++-
lxd/storage/drivers/volume.go | 2 +-
lxd/storage/pool_interface.go | 4 +
lxd/storage/storage.go | 6 ++
8 files changed, 146 insertions(+), 5 deletions(-)
diff --git a/lxd/storage/backend_lxd.go b/lxd/storage/backend_lxd.go
index c4f34c08d6..513d56f58c 100644
--- a/lxd/storage/backend_lxd.go
+++ b/lxd/storage/backend_lxd.go
@@ -2620,6 +2620,25 @@ func (b *lxdBackend) RenameCustomVolume(projectName string, volName string, newV
})
}
+ // Rename each backup to have the new parent volume prefix.
+ backups, err := b.state.Cluster.GetStoragePoolVolumeBackups(projectName, volName, b.ID())
+ if err != nil {
+ return err
+ }
+
+ for _, backup := range backups {
+ _, snapName, _ := shared.InstanceGetParentAndSnapshotName(backup.Name)
+ newVolBackupName := drivers.GetSnapshotVolumeName(newVolName, snapName)
+ err = b.state.Cluster.RenameVolumeBackup(backup.Name, newVolBackupName)
+ if err != nil {
+ return err
+ }
+
+ revert.Add(func() {
+ b.state.Cluster.RenameVolumeBackup(newVolBackupName, backup.Name)
+ })
+ }
+
err = b.state.Cluster.RenameStoragePoolVolume(projectName, volName, newVolName, db.StoragePoolVolumeTypeCustom, b.ID())
if err != nil {
return err
@@ -3397,3 +3416,68 @@ func (b *lxdBackend) CheckInstanceBackupFileSnapshots(backupConf *backup.Instanc
return existingSnapshots, nil
}
+
+func (b *lxdBackend) BackupCustomVolume(projectName string, volName string, tarWriter *instancewriter.InstanceTarWriter, optimized bool, snapshots bool, op *operations.Operation) error {
+ logger := logging.AddContext(b.logger, log.Ctx{"project": projectName, "volume": volName, "optimized": optimized, "snapshots": snapshots})
+ logger.Debug("BackupCustomVolume started")
+ defer logger.Debug("BackupCustomVolume finished")
+
+ // Get the volume name on storage.
+ volStorageName := project.StorageVolume(projectName, volName)
+
+ _, volume, err := b.state.Cluster.GetLocalStoragePoolVolume(projectName, volName, db.StoragePoolVolumeTypeCustom, b.id)
+ if err != nil {
+ return err
+ }
+
+ vol := b.newVolume(drivers.VolumeTypeCustom, drivers.ContentType(volume.ContentType), volStorageName, volume.Config)
+
+ err = b.driver.BackupVolume(vol, tarWriter, optimized, snapshots, op)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (b *lxdBackend) CreateCustomVolumeFromBackup(srcBackup backup.Info, srcData io.ReadSeeker, op *operations.Operation) error {
+ logger := logging.AddContext(b.logger, log.Ctx{"project": srcBackup.Project, "volume": srcBackup.Name, "snapshots": srcBackup.Snapshots, "optimizedStorage": *srcBackup.OptimizedStorage})
+ logger.Debug("CreateCustomVolumeFromBackup started")
+ defer logger.Debug("CreateCustomVolumeFromBackup finished")
+
+ // Get the volume name on storage.
+ volStorageName := project.Instance(srcBackup.Project, srcBackup.Name)
+
+ // We don't know the volume's config yet as tarball hasn't been unpacked.
+ // We will apply the config as part of the post hook function returned if driver needs to.
+ vol := b.newVolume(drivers.VolumeTypeCustom, drivers.ContentType(srcBackup.ContentType), volStorageName, nil)
+
+ revert := revert.New()
+ defer revert.Fail()
+
+ // Unpack the backup into the new storage volume(s).
+ volPostHook, revertHook, err := b.driver.CreateVolumeFromBackup(vol, srcBackup, srcData, op)
+ if err != nil {
+ return err
+ }
+
+ if revertHook != nil {
+ revert.Add(revertHook)
+ }
+
+ logger.Debug("CreateCustomVolumeFromBackup post hook started")
+ defer logger.Debug("CreateCustomVolumeFromBackup post hook finished")
+
+ // If the driver returned a post hook, run it now.
+ if volPostHook != nil {
+ vol := b.newVolume(drivers.VolumeTypeCustom, drivers.ContentType(srcBackup.ContentType), volStorageName, nil)
+
+ err = volPostHook(vol)
+ if err != nil {
+ return err
+ }
+ }
+
+ revert.Success()
+ return nil
+}
diff --git a/lxd/storage/backend_mock.go b/lxd/storage/backend_mock.go
index 48d8be7ecd..857e52e559 100644
--- a/lxd/storage/backend_mock.go
+++ b/lxd/storage/backend_mock.go
@@ -242,3 +242,11 @@ func (b *mockBackend) UpdateCustomVolumeSnapshot(projectName string, volName str
func (b *mockBackend) RestoreCustomVolume(projectName string, volName string, snapshotName string, op *operations.Operation) error {
return nil
}
+
+func (b *mockBackend) BackupCustomVolume(projectName string, volName string, tarWriter *instancewriter.InstanceTarWriter, optimized bool, snapshots bool, op *operations.Operation) error {
+ return nil
+}
+
+func (b *mockBackend) CreateCustomVolumeFromBackup(srcBackup backup.Info, srcData io.ReadSeeker, op *operations.Operation) error {
+ return nil
+}
diff --git a/lxd/storage/drivers/driver_btrfs_volumes.go b/lxd/storage/drivers/driver_btrfs_volumes.go
index 222efcd031..9d2e9bdaf3 100644
--- a/lxd/storage/drivers/driver_btrfs_volumes.go
+++ b/lxd/storage/drivers/driver_btrfs_volumes.go
@@ -291,6 +291,8 @@ func (d *btrfs) CreateVolumeFromBackup(vol Volume, srcBackup backup.Info, srcDat
} else {
srcFilePrefix = "virtual-machine"
}
+ } else if vol.volType == VolumeTypeCustom {
+ srcFilePrefix = "volume"
}
err = unpackVolume(vol, srcFilePrefix)
@@ -1029,6 +1031,10 @@ func (d *btrfs) BackupVolume(vol Volume, tarWriter *instancewriter.InstanceTarWr
// Create temporary file to store output of btrfs send.
backupsPath := shared.VarPath("backups")
+
+ if vol.volType == VolumeTypeCustom {
+ backupsPath = shared.VarPath("storage-pools", d.name, "custom-backups")
+ }
tmpFile, err := ioutil.TempFile(backupsPath, "lxd_backup_btrfs")
if err != nil {
return errors.Wrapf(err, "Failed to open temporary file for BTRFS backup")
@@ -1187,6 +1193,8 @@ func (d *btrfs) BackupVolume(vol Volume, tarWriter *instancewriter.InstanceTarWr
} else {
fileNamePrefix = "virtual-machine"
}
+ } else if vol.volType == VolumeTypeCustom {
+ fileNamePrefix = "volume"
}
err = addVolume(vol, targetVolume, lastVolPath, fileNamePrefix)
diff --git a/lxd/storage/drivers/driver_zfs_volumes.go b/lxd/storage/drivers/driver_zfs_volumes.go
index 5c548061e0..e9cbb19898 100644
--- a/lxd/storage/drivers/driver_zfs_volumes.go
+++ b/lxd/storage/drivers/driver_zfs_volumes.go
@@ -367,6 +367,8 @@ func (d *zfs) CreateVolumeFromBackup(vol Volume, srcBackup backup.Info, srcData
} else {
fileName = "virtual-machine.bin"
}
+ } else if vol.volType == VolumeTypeCustom {
+ fileName = "volume.bin"
}
err = unpackVolume(srcData, unpacker, fmt.Sprintf("backup/%s", fileName), d.dataset(vol, false))
@@ -1390,6 +1392,10 @@ func (d *zfs) BackupVolume(vol Volume, tarWriter *instancewriter.InstanceTarWrit
// Create temporary file to store output of ZFS send.
backupsPath := shared.VarPath("backups")
+
+ if vol.volType == VolumeTypeCustom {
+ backupsPath = shared.VarPath("storage-pools", d.name, "custom-backups")
+ }
tmpFile, err := ioutil.TempFile(backupsPath, "lxd_backup_zfs")
if err != nil {
return errors.Wrapf(err, "Failed to open temporary file for ZFS backup")
@@ -1475,6 +1481,8 @@ func (d *zfs) BackupVolume(vol Volume, tarWriter *instancewriter.InstanceTarWrit
} else {
fileName = "virtual-machine.bin"
}
+ } else if vol.volType == VolumeTypeCustom {
+ fileName = "volume.bin"
}
err = sendToFile(srcSnapshot, finalParent, fmt.Sprintf("backup/%s", fileName))
diff --git a/lxd/storage/drivers/generic_vfs.go b/lxd/storage/drivers/generic_vfs.go
index 8c2c7e12c9..2ebfc8ec6c 100644
--- a/lxd/storage/drivers/generic_vfs.go
+++ b/lxd/storage/drivers/generic_vfs.go
@@ -459,7 +459,12 @@ func genericVFSBackupVolume(d Driver, vol Volume, tarWriter *instancewriter.Inst
if v.IsVMBlock() {
blockPath, err := d.GetVolumeDiskPath(v)
if err != nil {
- return errors.Wrapf(err, "Error getting VM block volume disk path")
+ errMsg := "Error getting VM block volume disk path"
+ if vol.volType == VolumeTypeCustom {
+ errMsg = "Error getting custom block volume disk path"
+ }
+
+ return errors.Wrapf(err, errMsg)
}
var blockDiskSize int64
@@ -477,7 +482,12 @@ func genericVFSBackupVolume(d Driver, vol Volume, tarWriter *instancewriter.Inst
exclude = append(exclude, blockPath)
}
- d.Logger().Debug("Copying virtual machine config volume", log.Ctx{"sourcePath": mountPath, "prefix": prefix})
+ logMsg := "Copying virtual machine config volume"
+ if vol.volType == VolumeTypeCustom {
+ logMsg = "Copying custom config volume"
+ }
+
+ d.Logger().Debug(logMsg, log.Ctx{"sourcePath": mountPath, "prefix": prefix})
err = filepath.Walk(mountPath, func(srcPath string, fi os.FileInfo, err error) error {
if err != nil {
return err
@@ -501,7 +511,13 @@ func genericVFSBackupVolume(d Driver, vol Volume, tarWriter *instancewriter.Inst
}
name := fmt.Sprintf("%s.img", prefix)
- d.Logger().Debug("Copying virtual machine block volume", log.Ctx{"sourcePath": blockPath, "file": name, "size": blockDiskSize})
+
+ logMsg = "Copying virtual machine block volume"
+ if vol.volType == VolumeTypeCustom {
+ logMsg = "Copying custom block volume"
+ }
+
+ d.Logger().Debug(logMsg, log.Ctx{"sourcePath": blockPath, "file": name, "size": blockDiskSize})
from, err := os.Open(blockPath)
if err != nil {
return errors.Wrapf(err, "Error opening file for reading %q", blockPath)
@@ -520,7 +536,12 @@ func genericVFSBackupVolume(d Driver, vol Volume, tarWriter *instancewriter.Inst
return errors.Wrapf(err, "Error copying %q as %q to tarball", blockPath, name)
}
} else {
- d.Logger().Debug("Copying container filesystem volume", log.Ctx{"sourcePath": mountPath, "prefix": prefix})
+ logMsg := "Copying container filesystem volume"
+ if vol.volType == VolumeTypeCustom {
+ logMsg = "Copying custom filesystem volume"
+ }
+
+ d.Logger().Debug(logMsg, log.Ctx{"sourcePath": mountPath, "prefix": prefix})
return filepath.Walk(mountPath, func(srcPath string, fi os.FileInfo, err error) error {
if err != nil {
if os.IsNotExist(err) {
@@ -576,6 +597,8 @@ func genericVFSBackupVolume(d Driver, vol Volume, tarWriter *instancewriter.Inst
prefix := "backup/container"
if vol.IsVMBlock() {
prefix = "backup/virtual-machine"
+ } else if vol.volType == VolumeTypeCustom {
+ prefix = "backup/volume"
}
err := backupVolume(vol, prefix)
diff --git a/lxd/storage/drivers/volume.go b/lxd/storage/drivers/volume.go
index d5678e0b2f..3365f7936b 100644
--- a/lxd/storage/drivers/volume.go
+++ b/lxd/storage/drivers/volume.go
@@ -59,7 +59,7 @@ const ContentTypeBlock = ContentType("block")
// BaseDirectories maps volume types to the expected directories.
var BaseDirectories = map[VolumeType][]string{
VolumeTypeContainer: {"containers", "containers-snapshots"},
- VolumeTypeCustom: {"custom", "custom-snapshots"},
+ VolumeTypeCustom: {"custom", "custom-snapshots", "custom-backups"},
VolumeTypeImage: {"images"},
VolumeTypeVM: {"virtual-machines", "virtual-machines-snapshots"},
}
diff --git a/lxd/storage/pool_interface.go b/lxd/storage/pool_interface.go
index 82a424f07f..5f5829279a 100644
--- a/lxd/storage/pool_interface.go
+++ b/lxd/storage/pool_interface.go
@@ -88,4 +88,8 @@ type Pool interface {
MigrationTypes(contentType drivers.ContentType, refresh bool) []migration.Type
CreateCustomVolumeFromMigration(projectName string, conn io.ReadWriteCloser, args migration.VolumeTargetArgs, op *operations.Operation) error
MigrateCustomVolume(projectName string, conn io.ReadWriteCloser, args *migration.VolumeSourceArgs, op *operations.Operation) error
+
+ // Custom volume backups.
+ BackupCustomVolume(projectName string, volName string, tarWriter *instancewriter.InstanceTarWriter, optimized bool, snapshots bool, op *operations.Operation) error
+ CreateCustomVolumeFromBackup(srcBackup backup.Info, srcData io.ReadSeeker, op *operations.Operation) error
}
diff --git a/lxd/storage/storage.go b/lxd/storage/storage.go
index 2c680aa8f6..4a16f3e5fd 100644
--- a/lxd/storage/storage.go
+++ b/lxd/storage/storage.go
@@ -72,6 +72,12 @@ func GetStoragePoolVolumeSnapshotMountPoint(poolName string, snapshotName string
return shared.VarPath("storage-pools", poolName, "custom-snapshots", snapshotName)
}
+// GetStoragePoolVolumeBackupMountPoint returns the mountpoint of the given pool volume backup.
+// ${LXD_DIR}/storage-pools/<pool>/custom-backups/<custom volume name>/<snapshot name>
+func GetStoragePoolVolumeBackupMountPoint(poolName string, backupName string) string {
+ return shared.VarPath("storage-pools", poolName, "custom-backups", backupName)
+}
+
// CreateContainerMountpoint creates the provided container mountpoint and symlink.
func CreateContainerMountpoint(mountPoint string, mountPointSymlink string, privileged bool) error {
mntPointSymlinkExist := shared.PathExists(mountPointSymlink)
From 95d3e60b85080b04cb60ed3ae21de20c1ec82120 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 2 Sep 2020 22:12:42 +0200
Subject: [PATCH 12/15] lxd: Handle custom volume backups
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
lxd/api_1.0.go | 3 +
lxd/backup.go | 200 +++++++++++++
lxd/storage_volumes.go | 165 ++++++++++-
lxd/storage_volumes_backup.go | 510 ++++++++++++++++++++++++++++++++++
lxd/storage_volumes_utils.go | 16 ++
5 files changed, 887 insertions(+), 7 deletions(-)
create mode 100644 lxd/storage_volumes_backup.go
diff --git a/lxd/api_1.0.go b/lxd/api_1.0.go
index 7c34d158fb..a9cc397146 100644
--- a/lxd/api_1.0.go
+++ b/lxd/api_1.0.go
@@ -84,6 +84,9 @@ var api10 = []APIEndpoint{
storagePoolVolumeTypeCustomCmd,
storagePoolVolumeTypeImageCmd,
storagePoolVolumeTypeVMCmd,
+ storagePoolVolumeTypeCustomBackupsCmd,
+ storagePoolVolumeTypeCustomBackupCmd,
+ storagePoolVolumeTypeCustomBackupExportCmd,
}
func api10Get(d *Daemon, r *http.Request) response.Response {
diff --git a/lxd/backup.go b/lxd/backup.go
index 685bc1eb00..ae46040763 100644
--- a/lxd/backup.go
+++ b/lxd/backup.go
@@ -290,3 +290,203 @@ func pruneExpiredContainerBackups(ctx context.Context, d *Daemon) error {
return nil
}
+
+func volumeBackupCreate(s *state.State, args db.StoragePoolVolumeBackup, projectName string, poolName string, volumeName string) error {
+ logger := logging.AddContext(logger.Log, log.Ctx{"project": projectName, "storage_volume": volumeName, "name": args.Name})
+ logger.Debug("Volume backup started")
+ defer logger.Debug("Volume backup finished")
+
+ revert := revert.New()
+ defer revert.Fail()
+
+ // Get storage pool.
+ pool, err := storagePools.GetPoolByName(s, poolName)
+ if err != nil {
+ return errors.Wrap(err, "Load storage pool")
+ }
+
+ _, vol, err := s.Cluster.GetLocalStoragePoolVolume(projectName, volumeName, db.StoragePoolVolumeTypeCustom, pool.ID())
+ if err != nil {
+ return err
+ }
+
+ // Ignore requests for optimized backups when pool driver doesn't support it.
+ if args.OptimizedStorage && !pool.Driver().Info().OptimizedBackups {
+ args.OptimizedStorage = false
+ }
+
+ // Create the database entry.
+ err = s.Cluster.CreateStoragePoolVolumeBackup(args)
+ if err != nil {
+ if err == db.ErrAlreadyDefined {
+ return fmt.Errorf("Backup %q already exists", args.Name)
+ }
+
+ return errors.Wrap(err, "Insert backup info into database")
+ }
+
+ revert.Add(func() { s.Cluster.DeleteStoragePoolVolumeBackup(args.Name) })
+
+ backup, err := s.Cluster.GetStoragePoolVolumeBackup(projectName, poolName, args.Name)
+ if err != nil {
+ return errors.Wrap(err, "Failed to get backup from database")
+ }
+
+ // Detect compression method.
+ var compress string
+
+ backup.CompressionAlgorithm = args.CompressionAlgorithm
+
+ if backup.CompressionAlgorithm != "" {
+ compress = backup.CompressionAlgorithm
+ } else {
+ compress, err = cluster.ConfigGetString(s.Cluster, "backups.compression_algorithm")
+ if err != nil {
+ return err
+ }
+ }
+
+ // Create the target path if needed.
+ backupsPath := storagePools.GetStoragePoolVolumeBackupMountPoint(poolName, project.StorageVolume(projectName, volumeName))
+
+ if !shared.PathExists(backupsPath) {
+ err := os.MkdirAll(backupsPath, 0700)
+ if err != nil {
+ return err
+ }
+
+ revert.Add(func() { os.Remove(backupsPath) })
+ }
+
+ target := storagePools.GetStoragePoolVolumeBackupMountPoint(poolName, project.StorageVolume(projectName, backup.Name))
+
+ // Setup the tarball writer.
+ logger.Debug("Opening backup tarball for writing", log.Ctx{"path": target})
+ tarFileWriter, err := os.OpenFile(target, os.O_CREATE|os.O_WRONLY, 0600)
+ if err != nil {
+ return errors.Wrapf(err, "Error opening backup tarball for writing %q", target)
+ }
+ defer tarFileWriter.Close()
+ revert.Add(func() { os.Remove(target) })
+
+ // Create the tarball.
+ tarPipeReader, tarPipeWriter := io.Pipe()
+ defer tarPipeWriter.Close() // Ensure that go routine below always ends.
+ tarWriter := instancewriter.NewInstanceTarWriter(tarPipeWriter, nil)
+
+ // Setup tar writer go routine, with optional compression.
+ tarWriterRes := make(chan error, 0)
+ var compressErr error
+
+ go func(resCh chan<- error) {
+ logger.Debug("Started backup tarball writer")
+ defer logger.Debug("Finished backup tarball writer")
+ if compress != "none" {
+ compressErr = compressFile(compress, tarPipeReader, tarFileWriter)
+
+ // If a compression error occurred, close the tarPipeWriter to end the export.
+ if compressErr != nil {
+ tarPipeWriter.Close()
+ }
+ } else {
+ _, err = io.Copy(tarFileWriter, tarPipeReader)
+ }
+ resCh <- err
+ }(tarWriterRes)
+
+ // Write index file.
+ logger.Debug("Adding backup index file")
+ err = volumeBackupWriteIndex(s, projectName, volumeName, pool, backup.OptimizedStorage, !backup.VolumeOnly, vol.ContentType, tarWriter)
+
+ // Check compression errors.
+ if compressErr != nil {
+ return compressErr
+ }
+
+ // Check backupWriteIndex for errors.
+ if err != nil {
+ return errors.Wrapf(err, "Error writing backup index file")
+ }
+
+ err = pool.BackupCustomVolume(projectName, volumeName, tarWriter, backup.OptimizedStorage, !backup.VolumeOnly, nil)
+ if err != nil {
+ return errors.Wrap(err, "Backup create")
+ }
+
+ // Close off the tarball file.
+ err = tarWriter.Close()
+ if err != nil {
+ return errors.Wrap(err, "Error closing tarball writer")
+ }
+
+ // Close off the tarball pipe writer (this will end the go routine above).
+ err = tarPipeWriter.Close()
+ if err != nil {
+ return errors.Wrap(err, "Error closing tarball pipe writer")
+ }
+
+ err = <-tarWriterRes
+ if err != nil {
+ return errors.Wrap(err, "Error writing tarball")
+ }
+
+ revert.Success()
+ return nil
+}
+
+// volumeBackupWriteIndex generates an index.yaml file and then writes it to the root of the backup tarball.
+func volumeBackupWriteIndex(s *state.State, projectName string, volumeName string, pool storagePools.Pool, optimized bool, snapshots bool, contentType string, tarWriter *instancewriter.InstanceTarWriter) error {
+ // Indicate whether the driver will include a driver-specific optimized header.
+ poolDriverOptimizedHeader := false
+ if optimized {
+ poolDriverOptimizedHeader = pool.Driver().Info().OptimizedBackupHeader
+ }
+
+ indexInfo := backup.Info{
+ Name: volumeName,
+ Pool: pool.Name(),
+ Snapshots: []string{},
+ Backend: pool.Driver().Info().Name,
+ OptimizedStorage: &optimized,
+ OptimizedHeader: &poolDriverOptimizedHeader,
+ ContentType: contentType,
+ }
+
+ volID, err := s.Cluster.GetStoragePoolNodeVolumeID(projectName, volumeName, db.StoragePoolVolumeTypeCustom, pool.ID())
+ if err != nil {
+ return err
+ }
+
+ if snapshots {
+ snaps, err := s.Cluster.GetStorageVolumeSnapshotsNames(volID)
+ if err != nil {
+ return err
+ }
+
+ for _, snap := range snaps {
+ indexInfo.Snapshots = append(indexInfo.Snapshots, snap)
+ }
+ }
+
+ // Convert to YAML.
+ indexData, err := yaml.Marshal(&indexInfo)
+ if err != nil {
+ return err
+ }
+ r := bytes.NewReader(indexData)
+
+ indexFileInfo := instancewriter.FileInfo{
+ FileName: "backup/index.yaml",
+ FileSize: int64(len(indexData)),
+ FileMode: 0644,
+ FileModTime: time.Now(),
+ }
+
+ // Write to tarball.
+ err = tarWriter.WriteFileFromReader(r, &indexFileInfo)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/lxd/storage_volumes.go b/lxd/storage_volumes.go
index c4a8b865c8..18bb39d8d5 100644
--- a/lxd/storage_volumes.go
+++ b/lxd/storage_volumes.go
@@ -6,16 +6,21 @@ import (
"encoding/json"
"encoding/pem"
"fmt"
+ "io"
+ "io/ioutil"
"net/http"
+ "os"
"strings"
"github.com/gorilla/mux"
"github.com/gorilla/websocket"
+ "github.com/lxc/lxd/lxd/backup"
"github.com/lxc/lxd/lxd/db"
"github.com/lxc/lxd/lxd/instance"
"github.com/lxc/lxd/lxd/operations"
"github.com/lxc/lxd/lxd/project"
"github.com/lxc/lxd/lxd/response"
+ "github.com/lxc/lxd/lxd/revert"
"github.com/lxc/lxd/lxd/state"
storagePools "github.com/lxc/lxd/lxd/storage"
"github.com/lxc/lxd/lxd/util"
@@ -24,6 +29,7 @@ import (
log "github.com/lxc/lxd/shared/log15"
"github.com/lxc/lxd/shared/logger"
"github.com/lxc/lxd/shared/version"
+ "github.com/pkg/errors"
)
var storagePoolVolumesCmd = APIEndpoint{
@@ -274,15 +280,27 @@ func storagePoolVolumesTypeGet(d *Daemon, r *http.Request) response.Response {
// /1.0/storage-pools/{name}/volumes/{type}
// Create a storage volume in a given storage pool.
func storagePoolVolumesTypePost(d *Daemon, r *http.Request) response.Response {
+ poolName := mux.Vars(r)["name"]
+
+ projectName, err := project.StorageVolumeProject(d.State().Cluster, projectParam(r), db.StoragePoolVolumeTypeCustom)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
resp := forwardedResponseIfTargetIsRemote(d, r)
if resp != nil {
return resp
}
+ // If we're getting binary content, process separately
+ if r.Header.Get("Content-Type") == "application/octet-stream" {
+ return createStoragePoolVolumeFromBackup(d, projectName, poolName, r.Body)
+ }
+
req := api.StorageVolumesPost{}
// Parse the request.
- err := json.NewDecoder(r.Body).Decode(&req)
+ err = json.NewDecoder(r.Body).Decode(&req)
if err != nil {
return response.BadRequest(err)
}
@@ -314,12 +332,6 @@ func storagePoolVolumesTypePost(d *Daemon, r *http.Request) response.Response {
return response.BadRequest(fmt.Errorf(`Currently not allowed to create storage volumes of type %q`, req.Type))
}
- projectName, err := project.StorageVolumeProject(d.State().Cluster, projectParam(r), db.StoragePoolVolumeTypeCustom)
- if err != nil {
- return response.SmartError(err)
- }
-
- poolName := mux.Vars(r)["name"]
poolID, err := d.cluster.GetStoragePoolID(poolName)
if err != nil {
return response.SmartError(err)
@@ -1219,3 +1231,142 @@ func storagePoolVolumeTypeCustomDelete(d *Daemon, r *http.Request) response.Resp
func storagePoolVolumeTypeImageDelete(d *Daemon, r *http.Request) response.Response {
return storagePoolVolumeTypeDelete(d, r, "image")
}
+
+func createStoragePoolVolumeFromBackup(d *Daemon, project string, pool string, data io.Reader) response.Response {
+ revert := revert.New()
+ defer revert.Fail()
+
+ // Create temporary file to store uploaded backup data.
+ backupFile, err := ioutil.TempFile(shared.VarPath("storage-pools", pool, "custom-backups"), "lxd_backup_")
+ if err != nil {
+ return response.InternalError(err)
+ }
+ defer os.Remove(backupFile.Name())
+ revert.Add(func() { backupFile.Close() })
+
+ // Stream uploaded backup data into temporary file.
+ _, err = io.Copy(backupFile, data)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ // Detect squashfs compression and convert to tarball.
+ backupFile.Seek(0, 0)
+ _, algo, decomArgs, err := shared.DetectCompressionFile(backupFile)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ if algo == ".squashfs" {
+ // Pass the temporary file as program argument to the decompression command.
+ decomArgs := append(decomArgs, backupFile.Name())
+
+ // Create temporary file to store the decompressed tarball in.
+ tarFile, err := ioutil.TempFile(shared.VarPath("storage-pools", pool, "custom-backups"), "lxd_backup_decompress_")
+ if err != nil {
+ return response.InternalError(err)
+ }
+ defer os.Remove(tarFile.Name())
+
+ // Decompress to tarData temporary file.
+ err = shared.RunCommandWithFds(nil, tarFile, decomArgs[0], decomArgs[1:]...)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ // We don't need the original squashfs file anymore.
+ backupFile.Close()
+ os.Remove(backupFile.Name())
+
+ // Replace the backup file handle with the handle to the tar file.
+ backupFile = tarFile
+ }
+
+ // Parse the backup information.
+ backupFile.Seek(0, 0)
+ logger.Debug("Reading backup file info")
+ bInfo, err := backup.GetInfo(backupFile, false)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+ bInfo.Project = project
+
+ // Override pool.
+ if pool != "" {
+ bInfo.Pool = pool
+ }
+
+ logger.Debug("Backup file info loaded", log.Ctx{
+ "name": bInfo.Name,
+ "project": bInfo.Project,
+ "backend": bInfo.Backend,
+ "pool": bInfo.Pool,
+ "optimized": *bInfo.OptimizedStorage,
+ "snapshots": bInfo.Snapshots,
+ })
+
+ // Check storage pool exists.
+ _, _, err = d.State().Cluster.GetStoragePoolInAnyState(bInfo.Pool)
+ if errors.Cause(err) == db.ErrNoSuchObject {
+ // The storage pool doesn't exist. If backup is in binary format (so we cannot alter
+ // the backup.yaml) or the pool has been specified directly from the user restoring
+ // the backup then we cannot proceed so return an error.
+ if *bInfo.OptimizedStorage || pool != "" {
+ return response.InternalError(errors.Wrap(err, "Storage pool not found"))
+ }
+
+ // Otherwise try and restore to the project's default profile pool.
+ _, profile, err := d.State().Cluster.GetProfile(bInfo.Project, "default")
+ if err != nil {
+ return response.InternalError(errors.Wrap(err, "Failed to get default profile"))
+ }
+
+ _, v, err := shared.GetRootDiskDevice(profile.Devices)
+ if err != nil {
+ return response.InternalError(errors.Wrap(err, "Failed to get root disk device"))
+ }
+
+ // Use the default-profile's root pool.
+ bInfo.Pool = v["pool"]
+ } else if err != nil {
+ return response.InternalError(err)
+ }
+
+ // Copy reverter so far so we can use it inside run after this function has finished.
+ runRevert := revert.Clone()
+
+ run := func(op *operations.Operation) error {
+ defer backupFile.Close()
+ defer runRevert.Fail()
+
+ pool, err := storagePools.GetPoolByName(d.State(), bInfo.Pool)
+ if err != nil {
+ return err
+ }
+
+ // Check if the backup is optimized that the source pool driver matches the target pool driver.
+ if *bInfo.OptimizedStorage && pool.Driver().Info().Name != bInfo.Backend {
+ return fmt.Errorf("Optimized backup storage driver %q differs from the target storage pool driver %q", bInfo.Backend, pool.Driver().Info().Name)
+ }
+
+ // Dump tarball to storage.
+ err = pool.CreateCustomVolumeFromBackup(*bInfo, backupFile, nil)
+ if err != nil {
+ return errors.Wrap(err, "Create instance from backup")
+ }
+
+ runRevert.Success()
+ return nil
+ }
+
+ resources := map[string][]string{}
+ resources["storage_volumes"] = []string{bInfo.Name}
+
+ op, err := operations.OperationCreate(d.State(), project, operations.OperationClassTask, db.OperationCustomVolumeBackupRestore, resources, nil, run, nil, nil)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ revert.Success()
+ return operations.OperationResponse(op)
+}
diff --git a/lxd/storage_volumes_backup.go b/lxd/storage_volumes_backup.go
new file mode 100644
index 0000000000..1015a43583
--- /dev/null
+++ b/lxd/storage_volumes_backup.go
@@ -0,0 +1,510 @@
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "net/http"
+ "strings"
+ "time"
+
+ "github.com/gorilla/mux"
+ "github.com/lxc/lxd/lxd/backup"
+ "github.com/lxc/lxd/lxd/db"
+ "github.com/lxc/lxd/lxd/operations"
+ "github.com/lxc/lxd/lxd/project"
+ "github.com/lxc/lxd/lxd/response"
+ storagePools "github.com/lxc/lxd/lxd/storage"
+ "github.com/lxc/lxd/lxd/util"
+ "github.com/lxc/lxd/shared"
+ "github.com/lxc/lxd/shared/api"
+ "github.com/lxc/lxd/shared/version"
+ "github.com/pkg/errors"
+)
+
+var storagePoolVolumeTypeCustomBackupsCmd = APIEndpoint{
+ Path: "storage-pools/{pool}/volumes/{type}/{name}/backups",
+
+ Get: APIEndpointAction{Handler: storagePoolVolumeTypeCustomBackupsGet, AccessHandler: allowProjectPermission("storage-volumes", "view")},
+ Post: APIEndpointAction{Handler: storagePoolVolumeTypeCustomBackupsPost, AccessHandler: allowProjectPermission("storage-volumes", "manage-storage-volumes")},
+}
+
+var storagePoolVolumeTypeCustomBackupCmd = APIEndpoint{
+ Path: "storage-pools/{pool}/volumes/{type}/{name}/backups/{backupName}",
+
+ Get: APIEndpointAction{Handler: storagePoolVolumeTypeCustomBackupGet, AccessHandler: allowProjectPermission("storage-volumes", "view")},
+ Post: APIEndpointAction{Handler: storagePoolVolumeTypeCustomBackupPost, AccessHandler: allowProjectPermission("storage-volumes", "manage-storage-volumes")},
+ Delete: APIEndpointAction{Handler: storagePoolVolumeTypeCustomBackupDelete, AccessHandler: allowProjectPermission("storage-volumes", "manage-storage-volumes")},
+}
+
+var storagePoolVolumeTypeCustomBackupExportCmd = APIEndpoint{
+ Path: "storage-pools/{pool}/volumes/{type}/{name}/backups/{backupName}/export",
+
+ Get: APIEndpointAction{Handler: storagePoolVolumeTypeCustomBackupExportGet, AccessHandler: allowProjectPermission("storage-volumes", "view")},
+}
+
+func storagePoolVolumeTypeCustomBackupsGet(d *Daemon, r *http.Request) response.Response {
+ projectName, err := project.StorageVolumeProject(d.State().Cluster, projectParam(r), db.StoragePoolVolumeTypeCustom)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ // Get the name of the storage volume.
+ volumeName := mux.Vars(r)["name"]
+ // Get the name of the storage pool the volume is supposed to be attached to.
+ poolName := mux.Vars(r)["pool"]
+ // Get the volume type.
+ volumeTypeName := mux.Vars(r)["type"]
+
+ // Convert the volume type name to our internal integer representation.
+ volumeType, err := storagePools.VolumeTypeNameToType(volumeTypeName)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ // Check that the storage volume type is valid.
+ if volumeType != db.StoragePoolVolumeTypeCustom {
+ return response.BadRequest(fmt.Errorf("Invalid storage volume type %q", volumeTypeName))
+ }
+
+ poolID, _, err := d.cluster.GetStoragePool(poolName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ // Handle requests targeted to a volume on a different node
+ resp := forwardedResponseIfVolumeIsRemote(d, r, poolID, volumeName, db.StoragePoolVolumeTypeCustom)
+ if resp != nil {
+ return resp
+ }
+
+ recursion := util.IsRecursionRequest(r)
+
+ volumeBackups, err := d.State().Cluster.GetStoragePoolVolumeBackups(projectName, volumeName, poolID)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ backups := make([]*backup.VolumeBackup, len(volumeBackups))
+
+ for i, b := range volumeBackups {
+ backups[i] = backup.NewVolume(d.State(), projectName, poolName, volumeName, b.ID, b.Name, b.CreationDate, b.ExpiryDate, b.VolumeOnly, b.OptimizedStorage)
+ }
+
+ resultString := []string{}
+ resultMap := []*api.StoragePoolVolumeBackup{}
+
+ for _, backup := range backups {
+ if !recursion {
+ url := fmt.Sprintf("/%s/storage-pools/%s/volumes/custom/%s/backups/%s",
+ version.APIVersion, poolName, volumeName, strings.Split(backup.Name(), "/")[1])
+ resultString = append(resultString, url)
+ } else {
+ render := backup.Render()
+ resultMap = append(resultMap, render)
+ }
+ }
+
+ if !recursion {
+ return response.SyncResponse(true, resultString)
+ }
+
+ return response.SyncResponse(true, resultMap)
+}
+
+func storagePoolVolumeTypeCustomBackupsPost(d *Daemon, r *http.Request) response.Response {
+ // Get the name of the storage volume.
+ volumeName := mux.Vars(r)["name"]
+ // Get the name of the storage pool the volume is supposed to be attached to.
+ poolName := mux.Vars(r)["pool"]
+ // Get the volume type.
+ volumeTypeName := mux.Vars(r)["type"]
+
+ // Convert the volume type name to our internal integer representation.
+ volumeType, err := storagePools.VolumeTypeNameToType(volumeTypeName)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ // Check that the storage volume type is valid.
+ if volumeType != db.StoragePoolVolumeTypeCustom {
+ return response.BadRequest(fmt.Errorf("Invalid storage volume type %q", volumeTypeName))
+ }
+
+ projectName, err := project.StorageVolumeProject(d.State().Cluster, projectParam(r), db.StoragePoolVolumeTypeCustom)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp := forwardedResponseIfTargetIsRemote(d, r)
+ if resp != nil {
+ return resp
+ }
+
+ poolID, _, err := d.cluster.GetStoragePool(poolName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp = forwardedResponseIfVolumeIsRemote(d, r, poolID, volumeName, db.StoragePoolVolumeTypeCustom)
+ if resp != nil {
+ return resp
+ }
+
+ volumeID, _, err := d.cluster.GetLocalStoragePoolVolume(projectName, volumeName, db.StoragePoolVolumeTypeCustom, poolID)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ rj := shared.Jmap{}
+ err = json.NewDecoder(r.Body).Decode(&rj)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ expiry, _ := rj.GetString("expires_at")
+ if expiry == "" {
+ // Disable expiration by setting it to zero time.
+ rj["expires_at"] = time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC)
+ }
+
+ // Create body with correct expiry.
+ body, err := json.Marshal(rj)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ req := api.StoragePoolVolumeBackupsPost{}
+
+ err = json.Unmarshal(body, &req)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ if req.Name == "" {
+ // come up with a name.
+ backups, err := d.cluster.GetStoragePoolVolumeBackupsNames(projectName, volumeName, poolID)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ base := volumeName + shared.SnapshotDelimiter + "backup"
+ length := len(base)
+ max := 0
+
+ for _, backup := range backups {
+ // Ignore backups not containing base.
+ if !strings.HasPrefix(backup, base) {
+ continue
+ }
+
+ substr := backup[length:]
+ var num int
+ count, err := fmt.Sscanf(substr, "%d", &num)
+ if err != nil || count != 1 {
+ continue
+ }
+ if num >= max {
+ max = num + 1
+ }
+ }
+
+ req.Name = fmt.Sprintf("backup%d", max)
+ }
+
+ // Validate the name.
+ if strings.Contains(req.Name, "/") {
+ return response.BadRequest(fmt.Errorf("Backup names may not contain slashes"))
+ }
+
+ fullName := volumeName + shared.SnapshotDelimiter + req.Name
+ volumeOnly := req.VolumeOnly
+
+ backup := func(op *operations.Operation) error {
+ args := db.StoragePoolVolumeBackup{
+ Name: fullName,
+ VolumeID: volumeID,
+ CreationDate: time.Now(),
+ ExpiryDate: req.ExpiresAt,
+ VolumeOnly: volumeOnly,
+ OptimizedStorage: req.OptimizedStorage,
+ CompressionAlgorithm: req.CompressionAlgorithm,
+ }
+
+ err := volumeBackupCreate(d.State(), args, projectName, poolName, volumeName)
+ if err != nil {
+ return errors.Wrap(err, "Create volume backup")
+ }
+
+ return nil
+ }
+
+ resources := map[string][]string{}
+ resources["storage_volumes"] = []string{volumeName}
+ resources["backups"] = []string{req.Name}
+
+ op, err := operations.OperationCreate(d.State(), projectName, operations.OperationClassTask,
+ db.OperationCustomVolumeBackupCreate, resources, nil, backup, nil, nil)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ return operations.OperationResponse(op)
+}
+
+func storagePoolVolumeTypeCustomBackupGet(d *Daemon, r *http.Request) response.Response {
+ // Get the name of the storage volume.
+ volumeName := mux.Vars(r)["name"]
+ // Get the name of the storage pool the volume is supposed to be attached to.
+ poolName := mux.Vars(r)["pool"]
+ // Get the volume type.
+ volumeTypeName := mux.Vars(r)["type"]
+ // Get backup name.
+ backupName := mux.Vars(r)["backupName"]
+
+ // Convert the volume type name to our internal integer representation.
+ volumeType, err := storagePools.VolumeTypeNameToType(volumeTypeName)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ // Check that the storage volume type is valid.
+ if volumeType != db.StoragePoolVolumeTypeCustom {
+ return response.BadRequest(fmt.Errorf("Invalid storage volume type %q", volumeTypeName))
+ }
+
+ projectName, err := project.StorageVolumeProject(d.State().Cluster, projectParam(r), db.StoragePoolVolumeTypeCustom)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp := forwardedResponseIfTargetIsRemote(d, r)
+ if resp != nil {
+ return resp
+ }
+
+ poolID, _, err := d.cluster.GetStoragePool(poolName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp = forwardedResponseIfVolumeIsRemote(d, r, poolID, volumeName, db.StoragePoolVolumeTypeCustom)
+ if resp != nil {
+ return resp
+ }
+
+ fullName := volumeName + shared.SnapshotDelimiter + backupName
+
+ backup, err := storagePoolVolumeBackupLoadByName(d.State(), projectName, poolName, fullName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ return response.SyncResponse(true, backup.Render())
+}
+
+func storagePoolVolumeTypeCustomBackupPost(d *Daemon, r *http.Request) response.Response {
+ // Get the name of the storage volume.
+ volumeName := mux.Vars(r)["name"]
+ // Get the name of the storage pool the volume is supposed to be attached to.
+ poolName := mux.Vars(r)["pool"]
+ // Get the volume type.
+ volumeTypeName := mux.Vars(r)["type"]
+ // Get backup name.
+ backupName := mux.Vars(r)["backupName"]
+
+ // Convert the volume type name to our internal integer representation.
+ volumeType, err := storagePools.VolumeTypeNameToType(volumeTypeName)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ // Check that the storage volume type is valid.
+ if volumeType != db.StoragePoolVolumeTypeCustom {
+ return response.BadRequest(fmt.Errorf("Invalid storage volume type %q", volumeTypeName))
+ }
+
+ projectName, err := project.StorageVolumeProject(d.State().Cluster, projectParam(r), db.StoragePoolVolumeTypeCustom)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp := forwardedResponseIfTargetIsRemote(d, r)
+ if resp != nil {
+ return resp
+ }
+
+ poolID, _, err := d.cluster.GetStoragePool(poolName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp = forwardedResponseIfVolumeIsRemote(d, r, poolID, volumeName, db.StoragePoolVolumeTypeCustom)
+ if resp != nil {
+ return resp
+ }
+
+ req := api.StoragePoolVolumeBackupPost{}
+ err = json.NewDecoder(r.Body).Decode(&req)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ // Validate the name
+ if strings.Contains(req.Name, "/") {
+ return response.BadRequest(fmt.Errorf("Backup names may not contain slashes"))
+ }
+
+ oldName := volumeName + shared.SnapshotDelimiter + backupName
+
+ backup, err := storagePoolVolumeBackupLoadByName(d.State(), projectName, poolName, oldName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ newName := volumeName + shared.SnapshotDelimiter + req.Name
+
+ rename := func(op *operations.Operation) error {
+ err := backup.Rename(newName)
+ if err != nil {
+ return err
+ }
+
+ return nil
+ }
+
+ resources := map[string][]string{}
+ resources["volume"] = []string{volumeName}
+
+ op, err := operations.OperationCreate(d.State(), projectName, operations.OperationClassTask,
+ db.OperationCustomVolumeBackupRename, resources, nil, rename, nil, nil)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ return operations.OperationResponse(op)
+}
+
+func storagePoolVolumeTypeCustomBackupDelete(d *Daemon, r *http.Request) response.Response {
+ // Get the name of the storage volume.
+ volumeName := mux.Vars(r)["name"]
+ // Get the name of the storage pool the volume is supposed to be attached to.
+ poolName := mux.Vars(r)["pool"]
+ // Get the volume type.
+ volumeTypeName := mux.Vars(r)["type"]
+ // Get backup name.
+ backupName := mux.Vars(r)["backupName"]
+
+ // Convert the volume type name to our internal integer representation.
+ volumeType, err := storagePools.VolumeTypeNameToType(volumeTypeName)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ // Check that the storage volume type is valid.
+ if volumeType != db.StoragePoolVolumeTypeCustom {
+ return response.BadRequest(fmt.Errorf("Invalid storage volume type %q", volumeTypeName))
+ }
+
+ projectName, err := project.StorageVolumeProject(d.State().Cluster, projectParam(r), db.StoragePoolVolumeTypeCustom)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp := forwardedResponseIfTargetIsRemote(d, r)
+ if resp != nil {
+ return resp
+ }
+
+ poolID, _, err := d.cluster.GetStoragePool(poolName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp = forwardedResponseIfVolumeIsRemote(d, r, poolID, volumeName, db.StoragePoolVolumeTypeCustom)
+ if resp != nil {
+ return resp
+ }
+
+ fullName := volumeName + shared.SnapshotDelimiter + backupName
+
+ backup, err := storagePoolVolumeBackupLoadByName(d.State(), projectName, poolName, fullName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ remove := func(op *operations.Operation) error {
+ err := backup.Delete()
+ if err != nil {
+ return err
+ }
+
+ return nil
+ }
+
+ resources := map[string][]string{}
+ resources["volume"] = []string{volumeName}
+
+ op, err := operations.OperationCreate(d.State(), projectName, operations.OperationClassTask,
+ db.OperationCustomVolumeBackupRemove, resources, nil, remove, nil, nil)
+ if err != nil {
+ return response.InternalError(err)
+ }
+
+ return operations.OperationResponse(op)
+}
+
+func storagePoolVolumeTypeCustomBackupExportGet(d *Daemon, r *http.Request) response.Response {
+ // Get the name of the storage volume.
+ volumeName := mux.Vars(r)["name"]
+ // Get the name of the storage pool the volume is supposed to be attached to.
+ poolName := mux.Vars(r)["pool"]
+ // Get the volume type.
+ volumeTypeName := mux.Vars(r)["type"]
+ // Get backup name.
+ backupName := mux.Vars(r)["backupName"]
+
+ // Convert the volume type name to our internal integer representation.
+ volumeType, err := storagePools.VolumeTypeNameToType(volumeTypeName)
+ if err != nil {
+ return response.BadRequest(err)
+ }
+
+ // Check that the storage volume type is valid.
+ if volumeType != db.StoragePoolVolumeTypeCustom {
+ return response.BadRequest(fmt.Errorf("Invalid storage volume type %q", volumeTypeName))
+ }
+
+ projectName, err := project.StorageVolumeProject(d.State().Cluster, projectParam(r), db.StoragePoolVolumeTypeCustom)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp := forwardedResponseIfTargetIsRemote(d, r)
+ if resp != nil {
+ return resp
+ }
+
+ poolID, _, err := d.cluster.GetStoragePool(poolName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ resp = forwardedResponseIfVolumeIsRemote(d, r, poolID, volumeName, db.StoragePoolVolumeTypeCustom)
+ if resp != nil {
+ return resp
+ }
+
+ fullName := volumeName + shared.SnapshotDelimiter + backupName
+
+ // Ensure the volume exists
+ _, err = storagePoolVolumeBackupLoadByName(d.State(), projectName, poolName, fullName)
+ if err != nil {
+ return response.SmartError(err)
+ }
+
+ ent := response.FileResponseEntry{
+ Path: shared.VarPath("storage-pools", poolName, "custom-backups", project.StorageVolume(projectName, fullName)),
+ }
+
+ return response.FileResponse(r, []response.FileResponseEntry{ent}, nil, false)
+}
diff --git a/lxd/storage_volumes_utils.go b/lxd/storage_volumes_utils.go
index 9de58c8cdf..aea3525555 100644
--- a/lxd/storage_volumes_utils.go
+++ b/lxd/storage_volumes_utils.go
@@ -3,7 +3,9 @@ package main
import (
"fmt"
"path/filepath"
+ "strings"
+ "github.com/lxc/lxd/lxd/backup"
"github.com/lxc/lxd/lxd/db"
"github.com/lxc/lxd/lxd/instance"
"github.com/lxc/lxd/lxd/project"
@@ -311,3 +313,17 @@ func profilesUsingPoolVolumeGetNames(db *db.Cluster, volumeName string, volumeTy
return usedBy, nil
}
+
+func storagePoolVolumeBackupLoadByName(s *state.State, projectName, poolName, backupName string) (*backup.VolumeBackup, error) {
+ b, err := s.Cluster.GetStoragePoolVolumeBackup(projectName, poolName, backupName)
+ if err != nil {
+ return nil, err
+ }
+
+ volumeName := strings.Split(backupName, "/")[0]
+
+ backup := backup.NewVolume(s, projectName, poolName, volumeName, b.ID, b.Name, b.CreationDate,
+ b.ExpiryDate, b.VolumeOnly, b.OptimizedStorage)
+
+ return backup, nil
+}
From 2fd38cffdb10533c196b5a90378970e642662e4b Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 2 Sep 2020 22:13:10 +0200
Subject: [PATCH 13/15] lxc: Add import and export for custom volumes
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
lxc/storage_volume.go | 237 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 237 insertions(+)
diff --git a/lxc/storage_volume.go b/lxc/storage_volume.go
index 78ebdd6e0a..ab79dce5aa 100644
--- a/lxc/storage_volume.go
+++ b/lxc/storage_volume.go
@@ -2,6 +2,7 @@ package main
import (
"fmt"
+ "io"
"io/ioutil"
"os"
"sort"
@@ -9,6 +10,7 @@ import (
"strings"
"time"
+ "github.com/pkg/errors"
"github.com/spf13/cobra"
"gopkg.in/yaml.v2"
@@ -18,7 +20,9 @@ import (
"github.com/lxc/lxd/shared/api"
cli "github.com/lxc/lxd/shared/cmd"
"github.com/lxc/lxd/shared/i18n"
+ "github.com/lxc/lxd/shared/ioprogress"
"github.com/lxc/lxd/shared/termios"
+ "github.com/lxc/lxd/shared/units"
)
type cmdStorageVolume struct {
@@ -67,10 +71,18 @@ Unless specified through a prefix, all volume operations affect "custom" (user c
storageVolumeEditCmd := cmdStorageVolumeEdit{global: c.global, storage: c.storage, storageVolume: c}
cmd.AddCommand(storageVolumeEditCmd.Command())
+ // Export
+ storageVolumeExportCmd := cmdStorageVolumeExport{global: c.global, storage: c.storage, storageVolume: c}
+ cmd.AddCommand(storageVolumeExportCmd.Command())
+
// Get
storageVolumeGetCmd := cmdStorageVolumeGet{global: c.global, storage: c.storage, storageVolume: c}
cmd.AddCommand(storageVolumeGetCmd.Command())
+ // Import
+ storageVolumeImportCmd := cmdStorageVolumeImport{global: c.global, storage: c.storage, storageVolume: c}
+ cmd.AddCommand(storageVolumeImportCmd.Command())
+
// List
storageVolumeListCmd := cmdStorageVolumeList{global: c.global, storage: c.storage, storageVolume: c}
cmd.AddCommand(storageVolumeListCmd.Command())
@@ -1631,3 +1643,228 @@ func (c *cmdStorageVolumeRestore) Run(cmd *cobra.Command, args []string) error {
return client.UpdateStoragePoolVolume(resource.name, "custom", args[1], req, etag)
}
+
+// Export
+type cmdStorageVolumeExport struct {
+ global *cmdGlobal
+ storage *cmdStorage
+ storageVolume *cmdStorageVolume
+
+ flagVolumeOnly bool
+ flagOptimizedStorage bool
+ flagCompressionAlgorithm string
+}
+
+func (c *cmdStorageVolumeExport) Command() *cobra.Command {
+ cmd := &cobra.Command{}
+ cmd.Use = i18n.G("export [<remote>:]<pool> <volume> [<path>]")
+ cmd.Short = i18n.G("Export custom storage volume")
+ cmd.Long = cli.FormatSection(i18n.G("Description"), i18n.G(
+ `Export custom storage volume`))
+
+ cmd.Flags().BoolVar(&c.flagVolumeOnly, "volume-only", false, i18n.G("Export the volume without its snapshots"))
+ cmd.Flags().BoolVar(&c.flagOptimizedStorage, "optimized-storage", false,
+ i18n.G("Use storage driver optimized format (can only be restored on a similar pool)"))
+ cmd.Flags().StringVar(&c.flagCompressionAlgorithm, "compression", "", i18n.G("Define a compression algorithm: for backup or none")+"``")
+ cmd.RunE = c.Run
+
+ return cmd
+}
+
+func (c *cmdStorageVolumeExport) Run(cmd *cobra.Command, args []string) error {
+ conf := c.global.conf
+
+ // Sanity checks
+ exit, err := c.global.CheckArgs(cmd, args, 2, 3)
+ if exit {
+ return err
+ }
+
+ // Connect to LXD
+ remote, name, err := conf.ParseRemote(args[0])
+ if err != nil {
+ return err
+ }
+
+ d, err := conf.GetInstanceServer(remote)
+ if err != nil {
+ return err
+ }
+
+ volumeOnly := c.flagVolumeOnly
+
+ volName, volType := c.storageVolume.parseVolume("custom", args[1])
+ if volType != "custom" {
+ return fmt.Errorf(i18n.G("Only \"custom\" volumes can be exported"))
+ }
+
+ req := api.StoragePoolVolumeBackupsPost{
+ Name: "",
+ ExpiresAt: time.Now().Add(24 * time.Hour),
+ VolumeOnly: volumeOnly,
+ OptimizedStorage: c.flagOptimizedStorage,
+ CompressionAlgorithm: c.flagCompressionAlgorithm,
+ }
+
+ op, err := d.CreateStoragePoolVolumeBackup(name, volName, req)
+ if err != nil {
+ return errors.Wrap(err, "Failed to create storage volume backup")
+ }
+
+ // Watch the background operation
+ progress := utils.ProgressRenderer{
+ Format: i18n.G("Backing up storage volume: %s"),
+ Quiet: c.global.flagQuiet,
+ }
+
+ _, err = op.AddHandler(progress.UpdateOp)
+ if err != nil {
+ progress.Done("")
+ return err
+ }
+
+ // Wait until backup is done
+ err = utils.CancelableWait(op, &progress)
+ if err != nil {
+ progress.Done("")
+ return err
+ }
+ progress.Done("")
+
+ err = op.Wait()
+ if err != nil {
+ return err
+ }
+
+ // Get name of backup
+ backupName := strings.TrimPrefix(op.Get().Resources["backups"][0],
+ "/1.0/backups/")
+
+ defer func() {
+ // Delete backup after we're done
+ op, err = d.DeleteStoragePoolVolumeBackup(name, volName, backupName)
+ if err == nil {
+ op.Wait()
+ }
+ }()
+
+ var targetName string
+ if len(args) > 2 {
+ targetName = args[2]
+ } else {
+ targetName = "backup.tar.gz"
+ }
+
+ target, err := os.Create(shared.HostPath(targetName))
+ if err != nil {
+ return err
+ }
+ defer target.Close()
+
+ // Prepare the download request
+ progress = utils.ProgressRenderer{
+ Format: i18n.G("Exporting the backup: %s"),
+ Quiet: c.global.flagQuiet,
+ }
+ backupFileRequest := lxd.BackupFileRequest{
+ BackupFile: io.WriteSeeker(target),
+ ProgressHandler: progress.UpdateProgress,
+ }
+
+ // Export tarball
+ _, err = d.GetStoragePoolVolumeBackupFile(name, volName, backupName, &backupFileRequest)
+ if err != nil {
+ os.Remove(targetName)
+ progress.Done("")
+ return errors.Wrap(err, "Fetch storage volume backup file")
+ }
+
+ progress.Done(i18n.G("Backup exported successfully!"))
+ return nil
+}
+
+// Import
+type cmdStorageVolumeImport struct {
+ global *cmdGlobal
+ storage *cmdStorage
+ storageVolume *cmdStorageVolume
+}
+
+func (c *cmdStorageVolumeImport) Command() *cobra.Command {
+ cmd := &cobra.Command{}
+ cmd.Use = i18n.G("import [<remote>:]<pool> <backup file>")
+ cmd.Short = i18n.G("Import custom storage volumes")
+ cmd.Long = cli.FormatSection(i18n.G("Description"), i18n.G(
+ `Import backups of custom volumes including their snapshots.`))
+ cmd.Example = cli.FormatSection("", i18n.G(
+ `lxc storage volume import default backup0.tar.gz
+ Create a new custom volume using backup0.tar.gz as the source.`))
+ cmd.RunE = c.Run
+
+ return cmd
+}
+
+func (c *cmdStorageVolumeImport) Run(cmd *cobra.Command, args []string) error {
+ conf := c.global.conf
+
+ // Sanity checks
+ exit, err := c.global.CheckArgs(cmd, args, 1, 2)
+ if exit {
+ return err
+ }
+
+ // Connect to LXD
+ remote, name, err := conf.ParseRemote(args[0])
+ if err != nil {
+ return err
+ }
+
+ d, err := conf.GetInstanceServer(remote)
+ if err != nil {
+ return err
+ }
+
+ file, err := os.Open(shared.HostPath(args[len(args)-1]))
+ if err != nil {
+ return err
+ }
+ defer file.Close()
+
+ fstat, err := file.Stat()
+ if err != nil {
+ return err
+ }
+
+ progress := utils.ProgressRenderer{
+ Format: i18n.G("Importing custom volume: %s"),
+ Quiet: c.global.flagQuiet,
+ }
+
+ createArgs := lxd.StoragePoolVolumeBackupArgs{
+ BackupFile: &ioprogress.ProgressReader{
+ ReadCloser: file,
+ Tracker: &ioprogress.ProgressTracker{
+ Length: fstat.Size(),
+ Handler: func(percent int64, speed int64) {
+ progress.UpdateProgress(ioprogress.ProgressData{Text: fmt.Sprintf("%d%% (%s/s)", percent, units.GetByteSizeString(speed, 2))})
+ },
+ },
+ },
+ }
+
+ op, err := d.CreateStoragePoolVolumeFromBackup(name, createArgs)
+ if err != nil {
+ return err
+ }
+
+ // Wait for operation to finish
+ err = utils.CancelableWait(op, &progress)
+ if err != nil {
+ progress.Done("")
+ return err
+ }
+
+ progress.Done("")
+
+ return nil
+}
From e35776a4f67ee55faf88c47eed9924e650452867 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 2 Sep 2020 23:01:58 +0200
Subject: [PATCH 14/15] test/suites: Test custom volume backups
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
test/suites/backup.sh | 152 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 152 insertions(+)
diff --git a/test/suites/backup.sh b/test/suites/backup.sh
index e006ada601..09146e0474 100644
--- a/test/suites/backup.sh
+++ b/test/suites/backup.sh
@@ -413,3 +413,155 @@ test_backup_rename() {
lxc delete --force c2
}
+
+test_volume_backup_export() {
+ test_volume_backup_export_with_project
+ # test_volume_backup_export_with_project foo
+}
+
+test_volume_backup_export_with_project() {
+ pool="lxdtest-$(basename "${LXD_DIR}")"
+
+ if [ "$#" -ne 0 ]; then
+ # Create a project
+ lxc project create foo
+ lxc project switch foo
+
+ deps/import-busybox --project foo --alias testimage
+
+ # Add a root device to the default profile of the project
+ lxc profile device add default root disk path="/" pool="${pool}"
+ fi
+
+ ensure_import_testimage
+ ensure_has_localhost_remote "${LXD_ADDR}"
+
+ mkdir "${LXD_DIR}/optimized" "${LXD_DIR}/non-optimized"
+ lxd_backend=$(storage_backend "$LXD_DIR")
+
+ # Create test container
+ lxc init testimage c1
+ # Create custom storage volume
+ lxc storage volume create "${pool}" testvol
+ # Attach storage volume to the test container
+ lxc storage volume attach "${pool}" testvol c1 /mnt
+ # Start container
+ lxc start c1
+ # Create file on the custom volume
+ echo foo | lxc file push - c1/mnt/test
+ # Snapshot the custom volume
+ lxc storage volume snapshot "${pool}" testvol
+ # Change the content (the snapshot will contain the old value)
+ echo bar | lxc file push - c1/mnt/test
+
+ # Create backup without snapshots
+
+ if [ "$lxd_backend" = "btrfs" ] || [ "$lxd_backend" = "zfs" ]; then
+ # Create optimized backup
+ lxc storage volume export "${pool}" testvol "${LXD_DIR}/testvol-optimized.tar.gz" --volume-only --optimized-storage
+
+ [ -f "${LXD_DIR}/testvol-optimized.tar.gz" ]
+
+ # Extract backup tarball
+ tar -xzf "${LXD_DIR}/testvol-optimized.tar.gz" -C "${LXD_DIR}/optimized"
+
+ [ -f "${LXD_DIR}/optimized/backup/index.yaml" ]
+ [ -f "${LXD_DIR}/optimized/backup/volume.bin" ]
+ [ ! -d "${LXD_DIR}/optimized/backup/snapshots" ]
+ fi
+
+ # Create non-optimized backup
+ lxc storage volume export "${pool}" testvol "${LXD_DIR}/testvol.tar.gz" --volume-only
+
+ [ -f "${LXD_DIR}/testvol.tar.gz" ]
+
+ # Extract backup tarball
+ tar -xzf "${LXD_DIR}/testvol.tar.gz" -C "${LXD_DIR}/non-optimized"
+
+ # check tarball content
+ [ -f "${LXD_DIR}/non-optimized/backup/index.yaml" ]
+ [ -d "${LXD_DIR}/non-optimized/backup/volume" ]
+ [ ! -d "${LXD_DIR}/non-optimized/backup/snapshots" ]
+
+ ! grep -q -- '- snap0' "${LXD_DIR}/non-optimized/backup/index.yaml" || false
+
+ rm -rf "${LXD_DIR}/non-optimized/"*
+ rm "${LXD_DIR}/testvol.tar.gz"
+
+ # Create backup with snapshots
+
+ if [ "$lxd_backend" = "btrfs" ] || [ "$lxd_backend" = "zfs" ]; then
+ # Create optimized backup
+ lxc storage volume export "${pool}" testvol "${LXD_DIR}/testvol-optimized.tar.gz" --optimized-storage
+
+ [ -f "${LXD_DIR}/testvol-optimized.tar.gz" ]
+
+ # Extract backup tarball
+ tar -xzf "${LXD_DIR}/testvol-optimized.tar.gz" -C "${LXD_DIR}/optimized"
+
+ [ -f "${LXD_DIR}/optimized/backup/index.yaml" ]
+ [ -f "${LXD_DIR}/optimized/backup/volume.bin" ]
+ [ -f "${LXD_DIR}/optimized/backup/snapshots/snap0.bin" ]
+ fi
+
+ # Create non-optimized backup
+ lxc storage volume export "${pool}" testvol "${LXD_DIR}/testvol.tar.gz"
+
+ [ -f "${LXD_DIR}/testvol.tar.gz" ]
+
+ # Extract backup tarball
+ tar -xzf "${LXD_DIR}/testvol.tar.gz" -C "${LXD_DIR}/non-optimized"
+
+ # check tarball content
+ [ -f "${LXD_DIR}/non-optimized/backup/index.yaml" ]
+ [ -d "${LXD_DIR}/non-optimized/backup/volume" ]
+ [ -d "${LXD_DIR}/non-optimized/backup/snapshots/snap0" ]
+
+ grep -q -- '- snap0' "${LXD_DIR}/non-optimized/backup/index.yaml"
+
+ rm -rf "${LXD_DIR}/non-optimized/"*
+
+ # clean up
+ rm -rf "${LXD_DIR}/non-optimized/"* "${LXD_DIR}/optimized/"*
+ lxc storage volume detach "${pool}" testvol c1
+ lxc storage volume rm "${pool}" testvol
+ lxc rm -f c1
+}
+
+test_volume_backup_rename() {
+ ensure_has_localhost_remote "${LXD_ADDR}"
+
+ pool="lxdtest-$(basename "${LXD_DIR}")"
+
+ # Create test volume
+ lxc storage volume create "${pool}" vol1
+
+ if ! lxc query -X POST /1.0/storage-pools/"${pool}"/volumes/custom/vol1/backups/backupmissing -d '{\"name\": \"backupnewname\"}' --wait 2>&1 | grep -q "not found" ; then
+ echo "invalid rename response for missing storage volume"
+ false
+ fi
+
+ # Create backup
+ lxc query -X POST --wait -d '{\"name\":\"foo\"}' /1.0/storage-pools/"${pool}"/volumes/custom/vol1/backups
+
+ # All backups should be listed
+ lxc query /1.0/storage-pools/"${pool}"/volumes/custom/vol1/backups
+ lxc query /1.0/storage-pools/"${pool}"/volumes/custom/vol1/backups | jq .'[0]' | grep storage-pools/"${pool}"/volumes/custom/vol1/backups/foo
+
+ # The specific backup should exist
+ lxc query /1.0/storage-pools/"${pool}"/volumes/custom/vol1/backups/foo
+
+ # Rename the container which should rename the backup(s) as well
+ lxc storage volume rename "${pool}" vol1 vol2
+
+ # All backups should be listed
+ lxc query /1.0/storage-pools/"${pool}"/volumes/custom/vol2/backups | jq .'[0]' | grep storage-pools/"${pool}"/volumes/custom/vol2/backups/foo
+
+ # The specific backup should exist
+ lxc query /1.0/storage-pools/"${pool}"/volumes/custom/vol2/backups/foo
+
+ # The old backup should not exist
+ ! lxc query /1.0/storage-pools/"${pool}"/volumes/custom/vol1/backups/foo || false
+
+ lxc storage volume rm "${pool}" vol2
+}
From d1662c0297b661d7044239adc6c70f5a42fae339 Mon Sep 17 00:00:00 2001
From: Thomas Parrott <thomas.parrott at canonical.com>
Date: Tue, 15 Sep 2020 11:34:32 +0100
Subject: [PATCH 15/15] i18n: Update translation templates
Signed-off-by: Thomas Parrott <thomas.parrott at canonical.com>
---
po/bg.po | 249 +++++++++++++++++++++++++++-------------------
po/ca.po | 249 +++++++++++++++++++++++++++-------------------
po/de.po | 261 ++++++++++++++++++++++++++++++-------------------
po/el.po | 249 +++++++++++++++++++++++++++-------------------
po/es.po | 251 ++++++++++++++++++++++++++++-------------------
po/fa.po | 249 +++++++++++++++++++++++++++-------------------
po/fi.po | 249 +++++++++++++++++++++++++++-------------------
po/fr.po | 266 +++++++++++++++++++++++++++++++-------------------
po/hi.po | 249 +++++++++++++++++++++++++++-------------------
po/id.po | 249 +++++++++++++++++++++++++++-------------------
po/it.po | 251 ++++++++++++++++++++++++++++-------------------
po/ja.po | 260 +++++++++++++++++++++++++++++-------------------
po/ko.po | 249 +++++++++++++++++++++++++++-------------------
po/lxd.pot | 203 +++++++++++++++++++++++---------------
po/nb_NO.po | 249 +++++++++++++++++++++++++++-------------------
po/nl.po | 249 +++++++++++++++++++++++++++-------------------
po/pa.po | 249 +++++++++++++++++++++++++++-------------------
po/pl.po | 249 +++++++++++++++++++++++++++-------------------
po/pt_BR.po | 249 +++++++++++++++++++++++++++-------------------
po/ru.po | 260 +++++++++++++++++++++++++++++-------------------
po/sl.po | 249 +++++++++++++++++++++++++++-------------------
po/sr.po | 249 +++++++++++++++++++++++++++-------------------
po/sv.po | 249 +++++++++++++++++++++++++++-------------------
po/te.po | 249 +++++++++++++++++++++++++++-------------------
po/tr.po | 249 +++++++++++++++++++++++++++-------------------
po/ug.po | 249 +++++++++++++++++++++++++++-------------------
po/uk.po | 249 +++++++++++++++++++++++++++-------------------
po/zh_Hans.po | 249 +++++++++++++++++++++++++++-------------------
28 files changed, 4147 insertions(+), 2834 deletions(-)
diff --git a/po/bg.po b/po/bg.po
index 06113dbc6e..ce82a2f8db 100644
--- a/po/bg.po
+++ b/po/bg.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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/ca.po b/po/ca.po
index b38a3d4a87..08914ebb10 100644
--- a/po/ca.po
+++ b/po/ca.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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/de.po b/po/de.po
index 96970c18fc..d425e4c9c7 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: 2020-04-27 19:48+0000\n"
"Last-Translator: Predatorix Phoenix <predatorix at web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/linux-containers/"
@@ -49,7 +49,7 @@ msgstr ""
"### source: /home/chb/mnt/lxd_test/default.img\n"
"### zfs.pool_name: default"
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
#, fuzzy
msgid ""
"### This is a YAML representation of a storage volume.\n"
@@ -499,12 +499,12 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr "Netzwerkschnittstellen an Container anbinden"
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
#, fuzzy
msgid "Attach new storage volumes to instances"
msgstr "Netzwerkschnittstellen an Container anbinden"
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -549,7 +549,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr "Herunterfahren des Containers erzwingen."
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, fuzzy, c-format
+msgid "Backing up storage volume: %s"
+msgstr "Kein Zertifikat für diese Verbindung"
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
#, fuzzy
msgid "Backup exported successfully!"
msgstr "Profil %s erstellt\n"
@@ -560,7 +565,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -600,7 +605,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -735,12 +740,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -782,7 +787,7 @@ msgstr "kann nicht zum selben Container Namen kopieren"
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, fuzzy, c-format
msgid "Config parsing error: %s"
msgstr "YAML Analyse Fehler %v\n"
@@ -791,7 +796,7 @@ msgstr "YAML Analyse Fehler %v\n"
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -833,7 +838,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
#, fuzzy
msgid "Copy storage volumes"
msgstr "Anhalten des Containers fehlgeschlagen!"
@@ -843,7 +848,7 @@ msgstr "Anhalten des Containers fehlgeschlagen!"
msgid "Copy the instance without its snapshots"
msgstr "Herunterfahren des Containers erzwingen."
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
#, fuzzy
msgid "Copy the volume without its snapshots"
msgstr "Herunterfahren des Containers erzwingen."
@@ -861,7 +866,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, fuzzy, c-format
msgid "Copying the storage volume: %s"
msgstr "Anhalten des Containers fehlgeschlagen!"
@@ -921,7 +926,7 @@ msgstr ""
msgid "Create instances from images"
msgstr "kann nicht zum selben Container Namen kopieren"
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
#, fuzzy
msgid "Create new custom storage volumes"
msgstr "Anhalten des Containers fehlgeschlagen!"
@@ -980,7 +985,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr "BESCHREIBUNG"
@@ -996,7 +1001,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -1048,7 +1053,7 @@ msgstr "Fehlerhafte Profil URL %s"
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
#, fuzzy
msgid "Delete storage volumes"
msgstr "Kein Zertifikat für diese Verbindung"
@@ -1094,15 +1099,16 @@ msgstr "Kein Zertifikat für diese Verbindung"
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -1115,12 +1121,12 @@ msgstr "Netzwerkschnittstellen an Container anbinden"
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
#, fuzzy
msgid "Detach storage volumes from instances"
msgstr "Profil %s erstellt\n"
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1356,6 +1362,11 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+#, fuzzy
+msgid "Export custom storage volume"
+msgstr "Anhalten des Containers fehlgeschlagen!"
+
#: lxc/export.go:31
#, fuzzy
msgid "Export instance backups"
@@ -1366,7 +1377,12 @@ msgstr "Herunterfahren des Containers erzwingen."
msgid "Export instances as backup tarballs."
msgstr "Herunterfahren des Containers erzwingen."
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+#, fuzzy
+msgid "Export the volume without its snapshots"
+msgstr "Herunterfahren des Containers erzwingen."
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, fuzzy, c-format
msgid "Exporting the backup: %s"
msgstr "Herunterfahren des Containers erzwingen."
@@ -1479,7 +1495,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1546,7 +1562,7 @@ msgstr "Profil %s erstellt\n"
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1606,7 +1622,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1650,10 +1666,19 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr "Herunterfahren des Containers erzwingen."
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+#, fuzzy
+msgid "Import custom storage volumes"
+msgstr "Anhalten des Containers fehlgeschlagen!"
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1670,6 +1695,11 @@ msgstr ""
msgid "Import instance backups"
msgstr "Herunterfahren des Containers erzwingen."
+#: lxc/storage_volume.go:1839
+#, fuzzy, c-format
+msgid "Importing custom volume: %s"
+msgstr "Herunterfahren des Containers erzwingen."
+
#: lxc/import.go:72
#, fuzzy, c-format
msgid "Importing instance: %s"
@@ -1794,7 +1824,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -2003,7 +2033,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
#, fuzzy
msgid "List storage volumes"
msgstr "Kein Zertifikat für diese Verbindung"
@@ -2155,12 +2185,12 @@ msgstr "Fehlerhafte Profil URL %s"
msgid "Manage storage pools and volumes"
msgstr "Kein Zertifikat für diese Verbindung"
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
#, fuzzy
msgid "Manage storage volumes"
msgstr "Kein Zertifikat für diese Verbindung"
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2248,14 +2278,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
#, fuzzy
msgid "Missing pool name"
msgstr "Profilname kann nicht geändert werden"
@@ -2275,7 +2305,7 @@ msgstr "Profilname kann nicht geändert werden"
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
#, fuzzy
msgid "Missing source volume name"
msgstr "Kein Zertifikat für diese Verbindung"
@@ -2305,8 +2335,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2320,7 +2350,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr "Herunterfahren des Containers erzwingen."
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
#, fuzzy
msgid "Move storage volumes between pools"
msgstr "Kein Zertifikat für diese Verbindung"
@@ -2330,7 +2360,7 @@ msgstr "Kein Zertifikat für diese Verbindung"
msgid "Move the instance without its snapshots"
msgstr "Herunterfahren des Containers erzwingen."
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, fuzzy, c-format
msgid "Moving the storage volume: %s"
msgstr "Kein Zertifikat für diese Verbindung"
@@ -2346,7 +2376,7 @@ msgstr "der Name des Ursprung Containers muss angegeben werden"
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2448,16 +2478,16 @@ msgstr "kann nicht zum selben Container Namen kopieren"
msgid "No device found for this network"
msgstr "Kein Zertifikat für diese Verbindung"
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
#, fuzzy
msgid "No device found for this storage volume"
msgstr "Kein Zertifikat für diese Verbindung"
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2471,11 +2501,15 @@ msgstr "kein Wert in %q gefunden\n"
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2570,7 +2604,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2868,17 +2902,17 @@ msgstr "Fehlerhafte Profil URL %s"
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
#, fuzzy
msgid "Rename storage volumes"
msgstr "Kein Zertifikat für diese Verbindung"
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
#, fuzzy
msgid "Rename storage volumes and storage volume snapshots"
msgstr "Kein Zertifikat für diese Verbindung"
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2920,7 +2954,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr "Herunterfahren des Containers erzwingen."
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
#, fuzzy
msgid "Restore storage volume snapshots"
msgstr "Herunterfahren des Containers erzwingen."
@@ -3093,12 +3127,12 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
#, fuzzy
msgid "Set storage volume configuration keys"
msgstr "Profil %s erstellt\n"
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -3192,7 +3226,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
#, fuzzy
msgid "Show storage volume configurations"
msgstr "Profil %s erstellt\n"
@@ -3240,7 +3274,7 @@ msgstr "Größe: %.2vMB\n"
msgid "Size: %s"
msgstr "Erstellt: %s"
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
#, fuzzy
msgid "Snapshot storage volumes"
msgstr "Kein Zertifikat für diese Verbindung"
@@ -3322,22 +3356,22 @@ msgstr "Profil %s erstellt\n"
msgid "Storage pool name"
msgstr "Profilname kann nicht geändert werden"
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, fuzzy, c-format
msgid "Storage volume %s created"
msgstr "Profil %s erstellt\n"
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, fuzzy, c-format
msgid "Storage volume %s deleted"
msgstr "Profil %s gelöscht\n"
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
#, fuzzy
msgid "Storage volume copied successfully!"
msgstr "Profil %s erstellt\n"
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
#, fuzzy
msgid "Storage volume moved successfully!"
msgstr "Profil %s erstellt\n"
@@ -3378,7 +3412,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3442,8 +3476,8 @@ msgstr "entfernte Instanz %s existiert nicht"
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
#, fuzzy
msgid "The specified device doesn't exist"
msgstr "entfernte Instanz %s existiert nicht"
@@ -3514,7 +3548,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr "unbekannter entfernter Instanz Name: %q"
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3522,7 +3556,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3566,7 +3600,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3622,7 +3656,7 @@ msgstr "Profil %s erstellt\n"
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
#, fuzzy
msgid "Unset storage volume configuration keys"
msgstr "Alternatives config Verzeichnis."
@@ -3637,7 +3671,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3788,7 +3822,7 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
#, fuzzy
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
@@ -3796,7 +3830,7 @@ msgstr ""
"\n"
"lxd %s <Name>\n"
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3823,7 +3857,7 @@ msgstr ""
"\n"
"lxd %s <Name>\n"
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3859,7 +3893,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3930,7 +3964,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
#, fuzzy
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3962,7 +3996,7 @@ msgstr ""
"\n"
"lxd %s <Name>\n"
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
#, fuzzy
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
@@ -3970,7 +4004,7 @@ msgstr ""
"\n"
"lxd %s <Name>\n"
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -4042,7 +4076,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
#, fuzzy
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4103,6 +4137,15 @@ msgstr ""
"\n"
"lxd %s <Name>\n"
+#: lxc/storage_volume.go:1660
+#, fuzzy
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+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/file.go:70
msgid "file"
msgstr ""
@@ -4123,7 +4166,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
#, fuzzy
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -4178,6 +4221,14 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+#, fuzzy
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+"Ändert den Laufzustand eines Containers in %s.\n"
+"\n"
+"lxd %s <Name>\n"
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -4240,7 +4291,7 @@ msgstr ""
"\n"
"lxd %s <Name>\n"
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -4472,13 +4523,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4501,7 +4558,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
#, fuzzy
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4686,7 +4743,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
#, fuzzy
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
@@ -4722,7 +4779,7 @@ msgstr ""
"Entfernt einen Container (oder Sicherungspunkt) und alle dazugehörigen\n"
"Daten (Konfiguration, Sicherungspunkte, ...).\n"
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
#, fuzzy
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4751,7 +4808,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
#, fuzzy
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4833,7 +4890,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
#, fuzzy
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4868,7 +4925,7 @@ msgstr ""
"Entfernt einen Container (oder Sicherungspunkt) und alle dazugehörigen\n"
"Daten (Konfiguration, Sicherungspunkte, ...).\n"
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
#, fuzzy
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4958,7 +5015,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4998,7 +5055,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/el.po b/po/el.po
index 3e6624b94b..8434426aa7 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+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/"
@@ -36,7 +36,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -364,11 +364,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -412,7 +412,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -422,7 +427,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -462,7 +467,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -582,12 +587,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -626,7 +631,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -635,7 +640,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -676,7 +681,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -684,7 +689,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -701,7 +706,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -755,7 +760,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -807,7 +812,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -823,7 +828,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -871,7 +876,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -916,15 +921,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -936,11 +942,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1076,7 +1082,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1160,6 +1166,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1168,7 +1178,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1275,7 +1289,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1338,7 +1352,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1398,7 +1412,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1440,10 +1454,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1459,6 +1481,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1577,7 +1604,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1767,7 +1794,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1902,11 +1929,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1993,14 +2020,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2018,7 +2045,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2047,8 +2074,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2060,7 +2087,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2068,7 +2095,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2083,7 +2110,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2183,15 +2210,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2205,11 +2232,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2303,7 +2334,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2586,15 +2617,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2634,7 +2665,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2799,11 +2830,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2892,7 +2923,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2938,7 +2969,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3015,21 +3046,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3068,7 +3099,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3129,8 +3160,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3197,7 +3228,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3205,7 +3236,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3249,7 +3280,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3301,7 +3332,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3315,7 +3346,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3440,11 +3471,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3467,7 +3498,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3499,7 +3530,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3553,7 +3584,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3573,11 +3604,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3625,7 +3656,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3672,6 +3703,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3688,7 +3723,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3726,6 +3761,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3775,7 +3814,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3999,13 +4038,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4028,7 +4073,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4158,7 +4203,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4180,7 +4225,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4196,7 +4241,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4248,7 +4293,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4268,7 +4313,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4337,7 +4382,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4365,7 +4410,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 18571f44bb..762f920682 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: 2019-09-06 07:09+0000\n"
"Last-Translator: Stéphane Graber <stgraber at stgraber.org>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/linux-containers/"
@@ -51,7 +51,7 @@ msgstr ""
"### source: /home/chb/mnt/lxd_test/default.img\n"
"### zfs.pool_name: default"
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
#, fuzzy
msgid ""
"### This is a YAML representation of a storage volume.\n"
@@ -488,11 +488,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -536,7 +536,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr "No se puede proveer el nombre del container a la lista"
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, fuzzy, c-format
+msgid "Backing up storage volume: %s"
+msgstr "No se puede proveer el nombre del container a la lista"
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -546,7 +551,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -587,7 +592,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr "NOMBRE COMÚN"
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -709,12 +714,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr "Nombre del Miembro del Cluster"
@@ -755,7 +760,7 @@ msgstr "Perfil para aplicar al nuevo contenedor"
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -764,7 +769,7 @@ msgstr ""
msgid "Console log:"
msgstr "Log de la consola:"
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -805,7 +810,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -813,7 +818,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -831,7 +836,7 @@ msgstr "Copiando la imagen: %s"
msgid "Copying the image: %s"
msgstr "Copiando la imagen: %s"
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -889,7 +894,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -942,7 +947,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr "DESCRIPCIÓN"
@@ -958,7 +963,7 @@ msgstr "CONTROLADOR"
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -1007,7 +1012,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -1052,15 +1057,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -1072,11 +1078,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1211,7 +1217,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1295,6 +1301,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
#, fuzzy
msgid "Export instance backups"
@@ -1305,7 +1315,11 @@ msgstr "No se puede proveer el nombre del container a la lista"
msgid "Export instances as backup tarballs."
msgstr "No se puede proveer el nombre del container a la lista"
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, fuzzy, c-format
msgid "Exporting the backup: %s"
msgstr "No se puede proveer el nombre del container a la lista"
@@ -1413,7 +1427,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1476,7 +1490,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1536,7 +1550,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1578,10 +1592,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1598,6 +1620,11 @@ msgstr ""
msgid "Import instance backups"
msgstr "No se puede proveer el nombre del container a la lista"
+#: lxc/storage_volume.go:1839
+#, fuzzy, c-format
+msgid "Importing custom volume: %s"
+msgstr "No se puede proveer el nombre del container a la lista"
+
#: lxc/import.go:72
#, fuzzy, c-format
msgid "Importing instance: %s"
@@ -1717,7 +1744,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1909,7 +1936,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -2044,11 +2071,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2135,14 +2162,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2161,7 +2188,7 @@ msgstr "Nombre del contenedor es: %s"
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2191,8 +2218,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2204,7 +2231,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2212,7 +2239,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2227,7 +2254,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2325,15 +2352,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2347,11 +2374,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2445,7 +2476,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2732,15 +2763,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2782,7 +2813,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr "No se puede proveer el nombre del container a la lista"
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2947,11 +2978,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -3040,7 +3071,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -3086,7 +3117,7 @@ msgstr ""
msgid "Size: %s"
msgstr "Auto actualización: %s"
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3163,21 +3194,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3216,7 +3247,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3277,8 +3308,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3345,7 +3376,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3353,7 +3384,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3397,7 +3428,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3449,7 +3480,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3463,7 +3494,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3592,11 +3623,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3619,7 +3650,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3652,7 +3683,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3708,7 +3739,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3728,11 +3759,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3785,7 +3816,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3833,6 +3864,11 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+#, fuzzy
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr "No se puede proveer el nombre del container a la lista"
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3850,7 +3886,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3890,6 +3926,11 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+#, fuzzy
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr "No se puede proveer el nombre del container a la lista"
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3941,7 +3982,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr "No se puede proveer el nombre del container a la lista"
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -4166,13 +4207,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4195,7 +4242,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4332,7 +4379,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4356,7 +4403,7 @@ msgstr "No se puede proveer el nombre del container a la lista"
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr "No se puede proveer el nombre del container a la lista"
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4373,7 +4420,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4429,7 +4476,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4451,7 +4498,7 @@ msgstr "No se puede proveer el nombre del container a la lista"
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr "No se puede proveer el nombre del container a la lista"
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4524,7 +4571,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4554,7 +4601,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
#, fuzzy
msgid "volume"
msgstr "Columnas"
diff --git a/po/fa.po b/po/fa.po
index 1f107b07e8..613221121b 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/fi.po b/po/fi.po
index c48b74b0cd..3c18466171 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index ea3f85da02..8d5ec0bd03 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+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/"
@@ -55,7 +55,7 @@ msgstr ""
"### source: /home/chb/mnt/lxd_test/default.img\n"
"### zfs.pool_name: default"
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
#, fuzzy
msgid ""
"### This is a YAML representation of a storage volume.\n"
@@ -494,12 +494,12 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
#, fuzzy
msgid "Attach new storage volumes to instances"
msgstr "Afficher la configuration étendue"
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -544,7 +544,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr "Ignorer l'état du conteneur (seulement pour start)"
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, fuzzy, c-format
+msgid "Backing up storage volume: %s"
+msgstr "Copie de l'image : %s"
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
#, fuzzy
msgid "Backup exported successfully!"
msgstr "Image copiée avec succès !"
@@ -555,7 +560,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -595,7 +600,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr "COMMON NAME"
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -721,12 +726,12 @@ msgstr "Afficher la version du client"
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -774,7 +779,7 @@ msgstr "Clé/valeur de configuration à appliquer au nouveau conteneur"
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr "Erreur lors de la lecture de la configuration : %s"
@@ -783,7 +788,7 @@ msgstr "Erreur lors de la lecture de la configuration : %s"
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -825,7 +830,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
#, fuzzy
msgid "Copy storage volumes"
msgstr "Copie de l'image : %s"
@@ -835,7 +840,7 @@ msgstr "Copie de l'image : %s"
msgid "Copy the instance without its snapshots"
msgstr "Copiez le conteneur sans ses instantanés"
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
#, fuzzy
msgid "Copy the volume without its snapshots"
msgstr "Copiez le conteneur sans ses instantanés"
@@ -854,7 +859,7 @@ msgstr "Copie de l'image : %s"
msgid "Copying the image: %s"
msgstr "Copie de l'image : %s"
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, fuzzy, c-format
msgid "Copying the storage volume: %s"
msgstr "Copie de l'image : %s"
@@ -930,7 +935,7 @@ msgstr ""
msgid "Create instances from images"
msgstr "Création du conteneur"
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
#, fuzzy
msgid "Create new custom storage volumes"
msgstr "Copie de l'image : %s"
@@ -989,7 +994,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr "DESCRIPTION"
@@ -1005,7 +1010,7 @@ msgstr "PILOTE"
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
#, fuzzy
msgid "Define a compression algorithm: for backup or none"
msgstr "Définir un algorithme de compression : pour image ou aucun"
@@ -1059,7 +1064,7 @@ msgstr "Récupération de l'image : %s"
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
#, fuzzy
msgid "Delete storage volumes"
msgstr "Copie de l'image : %s"
@@ -1105,15 +1110,16 @@ msgstr "Copie de l'image : %s"
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -1125,12 +1131,12 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
#, fuzzy
msgid "Detach storage volumes from instances"
msgstr "Clé de configuration invalide"
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1274,7 +1280,7 @@ msgstr "Clé de configuration invalide"
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1369,6 +1375,11 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+#, fuzzy
+msgid "Export custom storage volume"
+msgstr "Copie de l'image : %s"
+
#: lxc/export.go:31
#, fuzzy
msgid "Export instance backups"
@@ -1379,7 +1390,12 @@ msgstr "Forcer l'arrêt du conteneur (seulement pour stop)"
msgid "Export instances as backup tarballs."
msgstr "Forcer l'arrêt du conteneur (seulement pour stop)"
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+#, fuzzy
+msgid "Export the volume without its snapshots"
+msgstr "Copiez le conteneur sans ses instantanés"
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, fuzzy, c-format
msgid "Exporting the backup: %s"
msgstr "Import de l'image : %s"
@@ -1492,7 +1508,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1560,7 +1576,7 @@ msgstr "Clé de configuration invalide"
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1625,7 +1641,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1671,10 +1687,19 @@ msgstr "Image copiée avec succès !"
msgid "Immediately attach to the console"
msgstr "Forcer l'arrêt du conteneur (seulement pour stop)"
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+#, fuzzy
+msgid "Import custom storage volumes"
+msgstr "Copie de l'image : %s"
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1692,6 +1717,11 @@ msgstr "Import de l'image : %s"
msgid "Import instance backups"
msgstr "Ignorer l'état du conteneur (seulement pour start)"
+#: lxc/storage_volume.go:1839
+#, fuzzy, c-format
+msgid "Importing custom volume: %s"
+msgstr "Ignorer l'état du conteneur (seulement pour start)"
+
#: lxc/import.go:72
#, fuzzy, c-format
msgid "Importing instance: %s"
@@ -1812,7 +1842,7 @@ msgid "LAST USED AT"
msgstr "DERNIÈRE UTILISATION À"
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -2066,7 +2096,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
#, fuzzy
msgid "List storage volumes"
msgstr "Copie de l'image : %s"
@@ -2211,12 +2241,12 @@ msgstr "Rendre l'image publique"
msgid "Manage storage pools and volumes"
msgstr "Copie de l'image : %s"
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
#, fuzzy
msgid "Manage storage volumes"
msgstr "Copie de l'image : %s"
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2308,14 +2338,14 @@ msgid "Missing network name"
msgstr "Nom du réseau"
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
#, fuzzy
msgid "Missing pool name"
msgstr "Nom de l'ensemble de stockage"
@@ -2335,7 +2365,7 @@ msgstr "Nom de l'ensemble de stockage"
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
#, fuzzy
msgid "Missing source volume name"
msgstr "Copie de l'image : %s"
@@ -2366,8 +2396,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
#, fuzzy
msgid "More than one device matches, specify the device name"
msgstr "Plus d'un périphérique correspond, spécifier le nom du périphérique."
@@ -2382,7 +2412,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr "Forcer le conteneur à s'arrêter"
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
#, fuzzy
msgid "Move storage volumes between pools"
msgstr "Copie de l'image : %s"
@@ -2392,7 +2422,7 @@ msgstr "Copie de l'image : %s"
msgid "Move the instance without its snapshots"
msgstr "Forcer le conteneur à s'arrêter"
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, fuzzy, c-format
msgid "Moving the storage volume: %s"
msgstr "Copie de l'image : %s"
@@ -2408,7 +2438,7 @@ msgstr "Vous devez fournir le nom d'un conteneur pour : "
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr "NOM"
@@ -2510,16 +2540,16 @@ msgstr "Clé/valeur de configuration à appliquer au nouveau conteneur"
msgid "No device found for this network"
msgstr "Aucun périphérique existant pour ce réseau"
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
#, fuzzy
msgid "No device found for this storage volume"
msgstr "Aucun périphérique existant pour ce réseau"
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2533,13 +2563,19 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
#, fuzzy
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
"Seuls les volumes \"personnalisés\" peuvent être attachés aux conteneurs."
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+#, fuzzy
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+"Seuls les volumes \"personnalisés\" peuvent être attachés aux conteneurs."
+
+#: lxc/storage_volume.go:1557
#, fuzzy
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2640,7 +2676,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr "Appuyer sur Entrée pour ouvrir à nouveau l'éditeur"
@@ -2938,17 +2974,17 @@ msgstr "Créé : %s"
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
#, fuzzy
msgid "Rename storage volumes"
msgstr "Copie de l'image : %s"
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
#, fuzzy
msgid "Rename storage volumes and storage volume snapshots"
msgstr "Copie de l'image : %s"
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2991,7 +3027,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr "Forcer le conteneur à s'arrêter"
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
#, fuzzy
msgid "Restore storage volume snapshots"
msgstr "Forcer le conteneur à s'arrêter"
@@ -3168,12 +3204,12 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
#, fuzzy
msgid "Set storage volume configuration keys"
msgstr "Clé de configuration invalide"
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -3272,7 +3308,7 @@ msgstr "Afficher la configuration étendue"
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
#, fuzzy
msgid "Show storage volume configurations"
msgstr "Afficher la configuration étendue"
@@ -3321,7 +3357,7 @@ msgstr "Taille : %.2f Mo"
msgid "Size: %s"
msgstr "État : %s"
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
#, fuzzy
msgid "Snapshot storage volumes"
msgstr "Copie de l'image : %s"
@@ -3403,22 +3439,22 @@ msgstr "Le réseau %s a été créé"
msgid "Storage pool name"
msgstr "Nom de l'ensemble de stockage"
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, fuzzy, c-format
msgid "Storage volume %s created"
msgstr "Profil %s créé"
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, fuzzy, c-format
msgid "Storage volume %s deleted"
msgstr "Profil %s supprimé"
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
#, fuzzy
msgid "Storage volume copied successfully!"
msgstr "Image copiée avec succès !"
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
#, fuzzy
msgid "Storage volume moved successfully!"
msgstr "Image copiée avec succès !"
@@ -3461,7 +3497,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr "TYPE"
@@ -3531,8 +3567,8 @@ msgstr "Le périphérique indiqué n'existe pas"
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr "Le périphérique indiqué n'existe pas"
@@ -3603,7 +3639,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr "Transfert de l'image : %s"
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3611,7 +3647,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3655,7 +3691,7 @@ msgid "URL"
msgstr "URL"
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr "UTILISÉ PAR"
@@ -3714,7 +3750,7 @@ msgstr "Clé de configuration invalide"
msgid "Unset storage pool configuration keys"
msgstr "Clé de configuration invalide"
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
#, fuzzy
msgid "Unset storage volume configuration keys"
msgstr "Clé de configuration invalide"
@@ -3729,7 +3765,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr "Publié : %s"
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3881,7 +3917,7 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
#, fuzzy
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
@@ -3889,7 +3925,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3916,7 +3952,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3952,7 +3988,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -4027,7 +4063,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
#, fuzzy
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4059,7 +4095,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
#, fuzzy
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
@@ -4067,7 +4103,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -4151,7 +4187,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
#, fuzzy
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4218,6 +4254,18 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
+#: lxc/storage_volume.go:1660
+#, fuzzy
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+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/file.go:70
msgid "file"
msgstr ""
@@ -4238,7 +4286,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
#, fuzzy
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -4297,6 +4345,14 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+#, fuzzy
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+"Change l'état d'un ou plusieurs conteneurs à %s.\n"
+"\n"
+"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -4362,7 +4418,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -4612,13 +4668,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4641,7 +4703,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
#, fuzzy
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4836,7 +4898,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
#, fuzzy
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
@@ -4878,7 +4940,7 @@ msgstr ""
"Détruit les conteneurs ou les instantanés ainsi que toute donnée associée "
"(configuration, instantanés, …)."
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
#, fuzzy
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4910,7 +4972,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
#, fuzzy
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4998,7 +5060,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
#, fuzzy
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -5042,7 +5104,7 @@ msgstr ""
"Détruit les conteneurs ou les instantanés ainsi que toute donnée associée "
"(configuration, instantanés, …)."
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
#, fuzzy
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -5133,7 +5195,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -5173,7 +5235,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
#, fuzzy
msgid "volume"
msgstr "Colonnes"
diff --git a/po/hi.po b/po/hi.po
index bd2b8c11bd..76064c8315 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/id.po b/po/id.po
index 05076d4963..1062a3d008 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/it.po b/po/it.po
index d047ce23d0..66eb6b5641 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: 2019-09-06 07:09+0000\n"
"Last-Translator: Luigi Operoso <brokenpip3 at gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/linux-containers/"
@@ -51,7 +51,7 @@ msgstr ""
"### source: /home/chb/mnt/lxd_test/default.img\n"
"### zfs.pool_name: default"
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
#, fuzzy
msgid ""
"### This is a YAML representation of a storage volume.\n"
@@ -479,11 +479,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -527,7 +527,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr "Creazione del container in corso"
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, fuzzy, c-format
+msgid "Backing up storage volume: %s"
+msgstr "Creazione del container in corso"
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -537,7 +542,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -577,7 +582,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr "NOME COMUNE"
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -698,12 +703,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -742,7 +747,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -792,7 +797,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -800,7 +805,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -817,7 +822,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -876,7 +881,7 @@ msgstr ""
msgid "Create instances from images"
msgstr "Creazione del container in corso"
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -930,7 +935,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr "DESCRIZIONE"
@@ -946,7 +951,7 @@ msgstr "DRIVER"
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -996,7 +1001,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -1041,15 +1046,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -1061,11 +1067,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1201,7 +1207,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1285,6 +1291,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
#, fuzzy
msgid "Export instance backups"
@@ -1295,7 +1305,11 @@ msgstr "Creazione del container in corso"
msgid "Export instances as backup tarballs."
msgstr "Creazione del container in corso"
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, fuzzy, c-format
msgid "Exporting the backup: %s"
msgstr "Creazione del container in corso"
@@ -1403,7 +1417,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1466,7 +1480,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1526,7 +1540,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1569,10 +1583,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1589,6 +1611,11 @@ msgstr ""
msgid "Import instance backups"
msgstr "Creazione del container in corso"
+#: lxc/storage_volume.go:1839
+#, fuzzy, c-format
+msgid "Importing custom volume: %s"
+msgstr "Creazione del container in corso"
+
#: lxc/import.go:72
#, fuzzy, c-format
msgid "Importing instance: %s"
@@ -1708,7 +1735,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1901,7 +1928,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -2039,11 +2066,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2130,14 +2157,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2156,7 +2183,7 @@ msgstr "Il nome del container è: %s"
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2185,8 +2212,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2198,7 +2225,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2206,7 +2233,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2221,7 +2248,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2319,15 +2346,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2341,11 +2368,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2440,7 +2471,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2727,15 +2758,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2777,7 +2808,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr "Creazione del container in corso"
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2942,11 +2973,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -3035,7 +3066,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -3081,7 +3112,7 @@ msgstr ""
msgid "Size: %s"
msgstr "Aggiornamento automatico: %s"
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3159,21 +3190,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3213,7 +3244,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3275,8 +3306,8 @@ msgstr "il remote %s non esiste"
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3343,7 +3374,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3351,7 +3382,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3395,7 +3426,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3448,7 +3479,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3462,7 +3493,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3593,11 +3624,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3620,7 +3651,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3653,7 +3684,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3709,7 +3740,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3729,11 +3760,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3786,7 +3817,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3834,6 +3865,11 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+#, fuzzy
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr "Creazione del container in corso"
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3851,7 +3887,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3891,6 +3927,11 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+#, fuzzy
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr "Creazione del container in corso"
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3942,7 +3983,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr "Creazione del container in corso"
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -4167,13 +4208,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4196,7 +4243,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4333,7 +4380,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4357,7 +4404,7 @@ msgstr "Creazione del container in corso"
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr "Creazione del container in corso"
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4374,7 +4421,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4430,7 +4477,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4452,7 +4499,7 @@ msgstr "Creazione del container in corso"
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr "Creazione del container in corso"
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4525,7 +4572,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4555,7 +4602,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
#, fuzzy
msgid "volume"
msgstr "Colonne"
diff --git a/po/ja.po b/po/ja.po
index 3001930b2f..c2ab7fc0ab 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: 2020-07-31 19:11+0000\n"
"Last-Translator: KATOH Yasufumi <karma at jazz.email.ne.jp>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/linux-"
@@ -49,7 +49,7 @@ msgstr ""
"### source: /home/chb/mnt/lxd_test/default.img\n"
"### zfs.pool_name: default"
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -487,11 +487,11 @@ msgstr "プロファイルにネットワークインターフェースを追加
msgid "Attach new network interfaces to instances"
msgstr "新たなネットワークインターフェースをインスタンスに追加します"
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr "新たにストレージボリュームをインスタンスに追加します"
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr "新しいストレージボリュームをプロファイルに追加します"
@@ -539,7 +539,12 @@ msgstr "BASE IMAGE"
msgid "Backing up instance: %s"
msgstr "インスタンスのバックアップ中: %s"
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, fuzzy, c-format
+msgid "Backing up storage volume: %s"
+msgstr "ストレージボリュームの移動中: %s"
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr "バックアップのエクスポートが成功しました!"
@@ -549,7 +554,7 @@ msgid "Bad key/value pair: %s"
msgstr "不適切なキー/値のペア: %s"
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr "不適切な キー=値 のペア: %s"
@@ -590,7 +595,7 @@ msgstr "CANCELABLE"
msgid "COMMON NAME"
msgstr "COMMON NAME"
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr "CONTENT TYPE"
@@ -710,12 +715,12 @@ msgstr "クライアントバージョン: %s\n"
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr "クラスタメンバ名"
@@ -758,7 +763,7 @@ msgstr "移動先のインスタンスに適用するキー/値の設定"
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr "設定の構文エラー: %s"
@@ -767,7 +772,7 @@ msgstr "設定の構文エラー: %s"
msgid "Console log:"
msgstr "コンソールログ:"
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr "ストレージボリュームのタイプ、block もしくは filesystem"
@@ -812,7 +817,7 @@ msgstr "プロファイルに継承されたデバイスをコピーし、設定
msgid "Copy profiles"
msgstr "プロファイルをコピーします"
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr "ストレージボリュームをコピーします"
@@ -820,7 +825,7 @@ msgstr "ストレージボリュームをコピーします"
msgid "Copy the instance without its snapshots"
msgstr "インスタンスをコピーします。スナップショットはコピーしません"
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr "ボリュームをコピーします (スナップショットはコピーしません)"
@@ -837,7 +842,7 @@ msgstr "仮想マシンイメージをコピーします"
msgid "Copying the image: %s"
msgstr "イメージのコピー中: %s"
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr "ストレージボリュームのコピー中: %s"
@@ -895,7 +900,7 @@ msgstr ""
msgid "Create instances from images"
msgstr "イメージからインスタンスを作成します"
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr "新たにカスタムストレージボリュームを作成します"
@@ -947,7 +952,7 @@ msgid "DATABASE"
msgstr "DATABASE"
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr "DESCRIPTION"
@@ -963,7 +968,7 @@ msgstr "DRIVER"
msgid "DRM:"
msgstr "DRM:"
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr "圧縮アルゴリズムを指定します: backup or none"
@@ -1011,7 +1016,7 @@ msgstr "プロジェクトを削除します"
msgid "Delete storage pools"
msgstr "ストレージプールを削除します"
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr "ストレージボリュームを削除します"
@@ -1056,15 +1061,16 @@ msgstr "ストレージボリュームを削除します"
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr "説明"
@@ -1076,11 +1082,11 @@ msgstr "インスタンスからネットワークインターフェースを取
msgid "Detach network interfaces from profiles"
msgstr "プロファイルからネットワークインターフェースを取り外します"
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr "インスタンスからストレージボリュームを取り外します"
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr "プロファイルからストレージボリュームを取り外します"
@@ -1217,7 +1223,7 @@ msgstr "プロジェクト設定をYAMLで編集します"
msgid "Edit storage pool configurations as YAML"
msgstr "ストレージプールの設定をYAMLで編集します"
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr "ストレージボリュームの設定をYAMLで編集します"
@@ -1326,6 +1332,11 @@ msgstr ""
"\n"
"出力先はオプショナルで、デフォルトは現在のディレクトリです。"
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+#, fuzzy
+msgid "Export custom storage volume"
+msgstr "新たにカスタムストレージボリュームを作成します"
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr "インスタンスのバックアップをエクスポートします"
@@ -1334,7 +1345,12 @@ msgstr "インスタンスのバックアップをエクスポートします"
msgid "Export instances as backup tarballs."
msgstr "インスタンスを tarball 形式のバックアップとしてエクスポートします。"
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+#, fuzzy
+msgid "Export the volume without its snapshots"
+msgstr "ボリュームをコピーします (スナップショットはコピーしません)"
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr "バックアップのエクスポート中: %s"
@@ -1456,7 +1472,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr "フォーマット (csv|json|table|yaml)"
@@ -1520,7 +1536,7 @@ msgstr "プロジェクトの設定値を取得します"
msgid "Get values for storage pool configuration keys"
msgstr "ストレージプールの設定値を取得します"
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr "ストレージボリュームの設定値を取得します"
@@ -1580,7 +1596,7 @@ msgstr "初めてこのマシンで LXD を使う場合、lxd init と実行す
msgid "Ignore any configured auto-expiry for the instance"
msgstr "設定されている自動でのインスタンスの有効期限設定を無視します"
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr "設定されている自動でのストレージボリュームの有効期限設定を無視します"
@@ -1622,11 +1638,22 @@ msgstr "イメージの更新が成功しました!"
msgid "Immediately attach to the console"
msgstr "起動直後にインスタンスのコンソールに接続します"
+#: lxc/storage_volume.go:1797
+#, fuzzy
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+"インスタンスのバックアップをスナップショットを含んだ状態でインポートします。"
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
"インスタンスのバックアップをスナップショットを含んだ状態でインポートします。"
+#: lxc/storage_volume.go:1796
+#, fuzzy
+msgid "Import custom storage volumes"
+msgstr "新たにカスタムストレージボリュームを作成します"
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1646,6 +1673,11 @@ msgstr "イメージをイメージストアにインポートします"
msgid "Import instance backups"
msgstr "インスタンスのバックアップをインポートします"
+#: lxc/storage_volume.go:1839
+#, fuzzy, c-format
+msgid "Importing custom volume: %s"
+msgstr "インスタンスのインポート中: %s"
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1768,7 +1800,7 @@ msgid "LAST USED AT"
msgstr "LAST USED AT"
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr "LOCATION"
@@ -2051,7 +2083,7 @@ msgstr "プロファイルを一覧表示します"
msgid "List projects"
msgstr "プロジェクトを一覧表示します"
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr "ストレージボリュームを一覧表示します"
@@ -2200,11 +2232,11 @@ msgstr "プロジェクトを管理します"
msgid "Manage storage pools and volumes"
msgstr "ストレージプール、ストレージボリュームを管理します"
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr "ストレージボリュームを管理します"
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2293,14 +2325,14 @@ msgid "Missing network name"
msgstr "ネットワーク名を指定する必要があります"
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr "ストレージプール名を指定する必要があります"
@@ -2318,7 +2350,7 @@ msgstr "プロジェクト名を指定する必要があります"
msgid "Missing source profile name"
msgstr "コピー元のプロファイル名を指定する必要があります"
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr "コピー元のボリューム名を指定する必要があります"
@@ -2350,8 +2382,8 @@ msgstr ""
"\n"
"デフォルトではすべてのタイプのメッセージをモニタリングします。"
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr "複数のデバイスとマッチします。デバイス名を指定してください"
@@ -2365,7 +2397,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr "LXD サーバ内もしくはサーバ間でインスタンスを移動します"
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr "プール間でストレージボリュームを移動します"
@@ -2373,7 +2405,7 @@ msgstr "プール間でストレージボリュームを移動します"
msgid "Move the instance without its snapshots"
msgstr "インスタンスを移動します。スナップショットは移動しません"
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr "ストレージボリュームの移動中: %s"
@@ -2388,7 +2420,7 @@ msgstr "インスタンス名を指定する必要があります: "
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr "NAME"
@@ -2486,15 +2518,15 @@ msgstr "指定するデバイスに適用する新しいキー/値"
msgid "No device found for this network"
msgstr "このネットワークに対するデバイスがありません"
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr "このストレージボリュームに対するデバイスがありません"
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr "コピー元のボリュームに対するストレージプールが指定されていません"
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr "コピー先のボリュームに対するストレージプールが指定されていません"
@@ -2508,11 +2540,16 @@ msgstr "%q に設定する値が指定されていません"
msgid "Node %d:\n"
msgstr "ノード %d:\n"
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr "\"カスタム\" のボリュームのみがインスタンスにアタッチできます"
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+#, fuzzy
+msgid "Only \"custom\" volumes can be exported"
+msgstr "\"カスタム\" のボリュームのみがスナップショットを取得できます"
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr "\"カスタム\" のボリュームのみがスナップショットを取得できます"
@@ -2606,7 +2643,7 @@ msgid "Ports:"
msgstr "ポート:"
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr "再度エディタを開くためには Enter キーを押します"
@@ -2889,16 +2926,16 @@ msgstr "プロジェクト名を変更します"
msgid "Rename remotes"
msgstr "リモートサーバ名を変更します"
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr "ストレージボリューム名を変更します"
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
"ストレージボリューム名とストレージボリュームのスナップショット名を変更します"
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr "ストレージボリューム名 \"%s\" を \"%s\" に変更しました"
@@ -2944,7 +2981,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr "スナップショットからインスタンスをリストアします"
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr "スナップショットからストレージボリュームをリストアします"
@@ -3140,11 +3177,11 @@ msgstr ""
"後方互換性のため、単一の設定を行うには次の形式でも設定できます:\n"
" lxc storage set [<remote>:]<pool> <key> <value>"
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr "ストレージボリュームの設定項目を設定します"
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -3238,7 +3275,7 @@ msgstr "プロジェクトの設定を表示します"
msgid "Show storage pool configurations and resources"
msgstr "ストレージプールの設定とリソースを表示します"
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr "ストレージボリュームの設定を表示する"
@@ -3284,7 +3321,7 @@ msgstr "サイズ: %.2fMB"
msgid "Size: %s"
msgstr "サイズ: %s"
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr "ストレージボリュームのスナップショットを取得します"
@@ -3361,21 +3398,21 @@ msgstr "ストレージプール %s はメンバ %s 上でペンディング状
msgid "Storage pool name"
msgstr "ストレージプール名"
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr "ストレージボリューム %s を作成しました"
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr "ストレージボリューム %s を削除しました"
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr "ストレージボリュームのコピーが成功しました!"
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr "ストレージボリュームの移動が成功しました!"
@@ -3414,7 +3451,7 @@ msgid "TARGET"
msgstr "TARGET"
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr "TYPE"
@@ -3480,8 +3517,8 @@ msgstr "プロファイルのデバイスが存在しません"
msgid "The source LXD server is not clustered"
msgstr "移動元の LXD サーバはクラスタに属していません"
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr "指定したデバイスが存在しません"
@@ -3566,7 +3603,7 @@ msgstr "合計: %v"
msgid "Transceiver type: %s"
msgstr "トランシーバータイプ: %s"
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr "転送モード。pull, push, relay のいずれか(デフォルトはpull)"
@@ -3574,7 +3611,7 @@ msgstr "転送モード。pull, push, relay のいずれか(デフォルトはpu
msgid "Transfer mode. One of pull (default), push or relay"
msgstr "転送モード。pull, push, relay のいずれか(デフォルトはpull)"
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr "転送モード。pull, push, relay のいずれか(デフォルトはpull)。"
@@ -3620,7 +3657,7 @@ msgid "URL"
msgstr "URL"
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr "USED BY"
@@ -3673,7 +3710,7 @@ msgstr "プロジェクトの設定を削除します"
msgid "Unset storage pool configuration keys"
msgstr "ストレージプールの設定を削除します"
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr "ストレージボリュームの設定を削除します"
@@ -3687,7 +3724,7 @@ msgstr "サポートされていないインスタンスタイプです: %s"
msgid "Uploaded: %s"
msgstr "アップロード日時: %s"
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3822,11 +3859,11 @@ msgid ""
msgstr ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3852,7 +3889,7 @@ msgstr "config"
msgid "console [<remote>:]<instance>"
msgstr "console [<remote>:]<instance>"
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
@@ -3884,7 +3921,7 @@ msgstr "create [<remote>:]<network> [key=value...]"
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr "create [<remote>:]<pool> <driver> [key=value...]"
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr "create [<remote>:]<pool> <volume> [key=value...]"
@@ -3940,7 +3977,7 @@ msgstr "delete [<remote>:]<operation>"
msgid "delete [<remote>:]<pool>"
msgstr "delete [<remote>:]<pool>"
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr "delete [<remote>:]<pool> <volume>[/<snapshot>]"
@@ -3960,11 +3997,11 @@ msgstr "説明"
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr "detach [<remote>:]<network> <instance> [<device name>]"
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
@@ -4013,7 +4050,7 @@ msgstr "edit [<remote>:]<network>"
msgid "edit [<remote>:]<pool>"
msgstr "edit [<remote>:]<pool>"
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr "edit [<remote>:]<pool> <volume>[/<snapshot>]"
@@ -4061,6 +4098,11 @@ msgid ""
msgstr ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
+#: lxc/storage_volume.go:1660
+#, fuzzy
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
+
#: lxc/file.go:70
msgid "file"
msgstr "file"
@@ -4078,7 +4120,7 @@ msgstr "get [<remote>:]<network> <key>"
msgid "get [<remote>:]<pool> <key>"
msgstr "get [<remote>:]<pool> <key>"
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
@@ -4119,6 +4161,11 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr "import [<remote>:] <backup file>"
+#: lxc/storage_volume.go:1795
+#, fuzzy
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr "import [<remote>:] <backup file>"
+
#: lxc/storage.go:443
msgid "info"
msgstr "ストレージ情報"
@@ -4168,7 +4215,7 @@ msgstr "list [<remote>:] [<filters>...]"
msgid "list [<remote>:]<instance>"
msgstr "list [<remote>:]<instance>"
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr "list [<remote>:]<pool>"
@@ -4500,7 +4547,7 @@ msgstr ""
"lxc storage edit [<remote>:]<pool> < pool.yaml\n"
" pool.yaml の内容でストレージプールを更新します。"
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
@@ -4508,7 +4555,16 @@ msgstr ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" pool.yaml の内容でストレージボリュームを更新します。"
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+#, fuzzy
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+"lxc import backup0.tar.gz\n"
+" backup0.tar.gz を使って新しいインスタンスを作成します。"
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4538,7 +4594,7 @@ msgstr "metadata"
msgid "monitor [<remote>:]"
msgstr "monitor [<remote>:]"
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
#, fuzzy
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr "move [<pool>/]<volume> [<pool>/]<volume>"
@@ -4677,7 +4733,7 @@ msgstr "rename [<remote>:]<member> <new-name>"
msgid "rename [<remote>:]<network> <new-name>"
msgstr "rename [<remote>:]<network> <new-name>"
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4701,7 +4757,7 @@ msgstr "restart [<remote>:]<instance> [[<remote>:]<instance>...]"
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr "restore [<remote>:]<instance> <snapshot>"
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr "restore [<remote>:]<pool> <volume> <snapshot>"
@@ -4718,7 +4774,7 @@ msgstr "set [<remote>:]<network> <key>=<value>..."
msgid "set [<remote>:]<pool> <key> <value>"
msgstr "set [<remote>:]<pool> <key> <value>"
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr "set [<remote>:]<pool> <volume> <key>=<value>..."
@@ -4771,7 +4827,7 @@ msgstr "show [<remote>:]<operation>"
msgid "show [<remote>:]<pool>"
msgstr "show [<remote>:]<pool>"
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr "show [<remote>:]<pool> <volume>[/<snapshot>]"
@@ -4791,7 +4847,7 @@ msgstr "show [<remote>:][<instance>[/<snapshot>]]"
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr "snapshot [<remote>:]<instance> [<snapshot name>]"
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
@@ -4861,7 +4917,7 @@ msgstr "unset [<remote>:]<network> <key>"
msgid "unset [<remote>:]<pool> <key>"
msgstr "unset [<remote>:]<pool> <key>"
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr "unset [<remote>:]<pool> <volume> <key>"
@@ -4890,7 +4946,7 @@ msgstr "ストレージを使用中の"
msgid "version [<remote>:]"
msgstr "version [<remote>:]"
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr "volume"
diff --git a/po/ko.po b/po/ko.po
index ad6554b414..a8f7c035f7 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/lxd.pot b/po/lxd.pot
index 69e82f914b..626936c65b 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: 2020-09-14 14:06+0100\n"
+ "POT-Creation-Date: 2020-09-15 11:34+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"
@@ -32,7 +32,7 @@ msgid "### This is a YAML representation of a storage pool.\n"
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid "### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
"###\n"
@@ -348,11 +348,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -395,7 +395,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -404,7 +409,7 @@ msgstr ""
msgid "Bad key/value pair: %s"
msgstr ""
-#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172 lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172 lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -444,7 +449,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -558,7 +563,7 @@ msgstr ""
msgid "Client version: %s\n"
msgstr ""
-#: lxc/config.go:95 lxc/config.go:364 lxc/config.go:467 lxc/config.go:614 lxc/config.go:737 lxc/copy.go:52 lxc/info.go:45 lxc/init.go:54 lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733 lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159 lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588 lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314 lxc/storage_volume.go:475 lxc/storage_volume.go:554 lxc/storage_volume.go:796 lxc/storage_volume.go:993 lxc/storage_volume.go:1165 lxc/storage_volume.go:1195 lxc/storage_volume.go:1311 lxc/storage_volume.go:1390 lxc/storage_volume.go:1483
+#: lxc/config.go:95 lxc/config.go:364 lxc/config.go:467 lxc/config.go:614 lxc/config.go:737 lxc/copy.go:52 lxc/info.go:45 lxc/init.go:54 lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733 lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159 lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588 lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326 lxc/storage_volume.go:487 lxc/storage_volume.go:566 lxc/storage_volume.go:808 lxc/storage_volume.go:1005 lxc/storage_volume.go:1177 lxc/storage_volume.go:1207 lxc/storage_volume.go:1323 lxc/storage_volume.go:1402 lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -593,7 +598,7 @@ msgstr ""
msgid "Config key/value to apply to the target instance"
msgstr ""
-#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328 lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643 lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303 lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328 lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643 lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303 lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -602,7 +607,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -642,7 +647,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -650,7 +655,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -667,7 +672,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -720,7 +725,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -771,7 +776,7 @@ msgstr ""
msgid "DATABASE"
msgstr ""
-#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883 lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883 lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -787,7 +792,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -835,11 +840,11 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
-#: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91 lxc/alias.go:22 lxc/alias.go:54 lxc/alias.go:100 lxc/alias.go:144 lxc/alias.go:195 lxc/cluster.go:31 lxc/cluster.go:74 lxc/cluster.go:154 lxc/cluster.go:204 lxc/cluster.go:254 lxc/cluster.go:337 lxc/cluster.go:422 lxc/config.go:30 lxc/config.go:89 lxc/config.go:360 lxc/config.go:452 lxc/config.go:610 lxc/config.go:734 lxc/config_device.go:24 lxc/config_device.go:75 lxc/config_device.go:193 lxc/config_device.go:265 lxc/config_device.go:336 lxc/config_device.go:429 lxc/config_device.go:520 lxc/config_device.go:527 lxc/config_device.go:631 lxc/config_device.go:703 lxc/config_metadata.go:27 lxc/config_metadata.go:52 lxc/config_metadata.go:174 lxc/config_template.go:28 lxc/config_template.go:65 lxc/config_template.go:108 lxc/config_template.go:150 lxc/config_template.go:236 lxc/config_template.go:295 lxc/config_trust.go:28 lxc/config_trust.go:57 lxc/config_trust.go:115 lxc/config_trust.go:193 lxc/console.go:36 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:40 lxc/export.go:32 lxc/file.go:72 lxc/file.go:105 lxc/file.go:154 lxc/file.go:217 lxc/file.go:407 lxc/image.go:38 lxc/image.go:129 lxc/image.go:277 lxc/image.go:328 lxc/image.go:453 lxc/image.go:612 lxc/image.go:840 lxc/image.go:975 lxc/image.go:1273 lxc/image.go:1352 lxc/image_alias.go:25 lxc/image_alias.go:58 lxc/image_alias.go:105 lxc/image_alias.go:150 lxc/image_alias.go:252 lxc/import.go:28 lxc/info.go:33 lxc/init.go:40 lxc/launch.go:25 lxc/list.go:45 lxc/main.go:50 lxc/manpage.go:20 lxc/monitor.go:30 lxc/move.go:36 lxc/network.go:33 lxc/network.go:109 lxc/network.go:182 lxc/network.go:255 lxc/network.go:329 lxc/network.go:379 lxc/network.go:464 lxc/network.go:549 lxc/network.go:672 lxc/network.go:730 lxc/network.go:810 lxc/network.go:905 lxc/network.go:974 lxc/network.go:1024 lxc/network.go:1094 lxc/network.go:1156 lxc/operation.go:24 lxc/operation.go:53 lxc/operation.go:102 lxc/operation.go:181 lxc/profile.go:29 lxc/profile.go:101 lxc/profile.go:164 lxc/profile.go:244 lxc/profile.go:300 lxc/profile.go:354 lxc/profile.go:404 lxc/profile.go:528 lxc/profile.go:577 lxc/profile.go:636 lxc/profile.go:712 lxc/profile.go:762 lxc/profile.go:821 lxc/profile.go:875 lxc/project.go:29 lxc/project.go:86 lxc/project.go:151 lxc/project.go:214 lxc/project.go:334 lxc/project.go:384 lxc/project.go:482 lxc/project.go:537 lxc/project.go:597 lxc/project.go:626 lxc/project.go:679 lxc/publish.go:31 lxc/query.go:32 lxc/remote.go:33 lxc/remote.go:84 lxc/remote.go:423 lxc/remote.go:459 lxc/remote.go:539 lxc/remote.go:601 lxc/remote.go:651 lxc/remote.go:689 lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735 lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223 lxc/storage_volume.go:310 lxc/storage_volume.go:472 lxc/storage_volume.go:551 lxc/storage_volume.go:627 lxc/storage_volume.go:709 lxc/storage_volume.go:790 lxc/storage_volume.go:990 lxc/storage_volume.go:1081 lxc/storage_volume.go:1161 lxc/storage_volume.go:1192 lxc/storage_volume.go:1305 lxc/storage_volume.go:1381 lxc/storage_volume.go:1480 lxc/storage_volume.go:1513 lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/action.go:31 lxc/action.go:50 lxc/action.go:70 lxc/action.go:91 lxc/alias.go:22 lxc/alias.go:54 lxc/alias.go:100 lxc/alias.go:144 lxc/alias.go:195 lxc/cluster.go:31 lxc/cluster.go:74 lxc/cluster.go:154 lxc/cluster.go:204 lxc/cluster.go:254 lxc/cluster.go:337 lxc/cluster.go:422 lxc/config.go:30 lxc/config.go:89 lxc/config.go:360 lxc/config.go:452 lxc/config.go:610 lxc/config.go:734 lxc/config_device.go:24 lxc/config_device.go:75 lxc/config_device.go:193 lxc/config_device.go:265 lxc/config_device.go:336 lxc/config_device.go:429 lxc/config_device.go:520 lxc/config_device.go:527 lxc/config_device.go:631 lxc/config_device.go:703 lxc/config_metadata.go:27 lxc/config_metadata.go:52 lxc/config_metadata.go:174 lxc/config_template.go:28 lxc/config_template.go:65 lxc/config_template.go:108 lxc/config_template.go:150 lxc/config_template.go:236 lxc/config_template.go:295 lxc/config_trust.go:28 lxc/config_trust.go:57 lxc/config_trust.go:115 lxc/config_trust.go:193 lxc/console.go:36 lxc/copy.go:40 lxc/delete.go:30 lxc/exec.go:40 lxc/export.go:32 lxc/file.go:72 lxc/file.go:105 lxc/file.go:154 lxc/file.go:217 lxc/file.go:407 lxc/image.go:38 lxc/image.go:129 lxc/image.go:277 lxc/image.go:328 lxc/image.go:453 lxc/image.go:612 lxc/image.go:840 lxc/image.go:975 lxc/image.go:1273 lxc/image.go:1352 lxc/image_alias.go:25 lxc/image_alias.go:58 lxc/image_alias.go:105 lxc/image_alias.go:150 lxc/image_alias.go:252 lxc/import.go:28 lxc/info.go:33 lxc/init.go:40 lxc/launch.go:25 lxc/list.go:45 lxc/main.go:50 lxc/manpage.go:20 lxc/monitor.go:30 lxc/move.go:36 lxc/network.go:33 lxc/network.go:109 lxc/network.go:182 lxc/network.go:255 lxc/network.go:329 lxc/network.go:379 lxc/network.go:464 lxc/network.go:549 lxc/network.go:672 lxc/network.go:730 lxc/network.go:810 lxc/network.go:905 lxc/network.go:974 lxc/network.go:1024 lxc/network.go:1094 lxc/network.go:1156 lxc/operation.go:24 lxc/operation.go:53 lxc/operation.go:102 lxc/operation.go:181 lxc/profile.go:29 lxc/profile.go:101 lxc/profile.go:164 lxc/profile.go:244 lxc/profile.go:300 lxc/profile.go:354 lxc/profile.go:404 lxc/profile.go:528 lxc/profile.go:577 lxc/profile.go:636 lxc/profile.go:712 lxc/profile.go:762 lxc/profile.go:821 lxc/profile.go:875 lxc/project.go:29 lxc/project.go:86 lxc/project.go:151 lxc/project.go:214 lxc/project.go:334 lxc/project.go:384 lxc/project.go:482 lxc/project.go:537 lxc/project.go:597 lxc/project.go:626 lxc/project.go:679 lxc/publish.go:31 lxc/query.go:32 lxc/remote.go:33 lxc/remote.go:84 lxc/remote.go:423 lxc/remote.go:459 lxc/remote.go:539 lxc/remote.go:601 lxc/remote.go:651 lxc/remote.go:689 lxc/rename.go:21 lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735 lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235 lxc/storage_volume.go:322 lxc/storage_volume.go:484 lxc/storage_volume.go:563 lxc/storage_volume.go:639 lxc/storage_volume.go:721 lxc/storage_volume.go:802 lxc/storage_volume.go:1002 lxc/storage_volume.go:1093 lxc/storage_volume.go:1173 lxc/storage_volume.go:1204 lxc/storage_volume.go:1317 lxc/storage_volume.go:1393 lxc/storage_volume.go:1492 lxc/storage_volume.go:1525 lxc/storage_volume.go:1601 lxc/storage_volume.go:1662 lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -851,11 +856,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -986,7 +991,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1063,6 +1068,10 @@ msgid "Export and download images\n"
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1071,7 +1080,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1168,7 +1181,7 @@ msgid "Forcefully removing a server from the cluster should only be done as a
"Are you really sure you want to force removing %s? (yes/no): "
msgstr ""
-#: lxc/alias.go:102 lxc/cluster.go:76 lxc/config_template.go:238 lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155 lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104 lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510 lxc/storage_volume.go:1083
+#: lxc/alias.go:102 lxc/cluster.go:76 lxc/config_template.go:238 lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155 lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104 lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510 lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1231,7 +1244,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1289,7 +1302,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1331,10 +1344,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid "Import image into the image store\n"
"\n"
@@ -1349,6 +1370,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1465,7 +1491,7 @@ msgstr ""
msgid "LAST USED AT"
msgstr ""
-#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165 lxc/storage_volume.go:1142
+#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165 lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1647,7 +1673,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1781,11 +1807,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid "Manage storage volumes\n"
"\n"
"Unless specified through a prefix, all volume operations affect \"custom\" (user created) volumes."
@@ -1858,7 +1884,7 @@ msgstr ""
msgid "Missing network name"
msgstr ""
-#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414 lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164 lxc/storage_volume.go:247 lxc/storage_volume.go:498 lxc/storage_volume.go:575 lxc/storage_volume.go:651 lxc/storage_volume.go:733 lxc/storage_volume.go:832 lxc/storage_volume.go:1015 lxc/storage_volume.go:1106 lxc/storage_volume.go:1217 lxc/storage_volume.go:1332 lxc/storage_volume.go:1412 lxc/storage_volume.go:1537 lxc/storage_volume.go:1612
+#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414 lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176 lxc/storage_volume.go:259 lxc/storage_volume.go:510 lxc/storage_volume.go:587 lxc/storage_volume.go:663 lxc/storage_volume.go:745 lxc/storage_volume.go:844 lxc/storage_volume.go:1027 lxc/storage_volume.go:1118 lxc/storage_volume.go:1229 lxc/storage_volume.go:1344 lxc/storage_volume.go:1424 lxc/storage_volume.go:1549 lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -1874,7 +1900,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -1902,7 +1928,7 @@ msgid "Monitor a local or remote LXD server\n"
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671 lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683 lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -1914,7 +1940,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -1922,7 +1948,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -1935,7 +1961,7 @@ msgstr ""
msgid "Must supply instance name for: "
msgstr ""
-#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620 lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558 lxc/storage_volume.go:1136
+#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620 lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558 lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2031,15 +2057,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2053,11 +2079,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2150,7 +2180,7 @@ msgstr ""
msgid "Ports:"
msgstr ""
-#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305 lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305 lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2430,15 +2460,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2476,7 +2506,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2627,11 +2657,11 @@ msgid "Set storage pool configuration keys\n"
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid "Set storage volume configuration keys\n"
"\n"
"For backward compatibility, a single configuration key may still be set with:\n"
@@ -2718,7 +2748,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2764,7 +2794,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -2841,21 +2871,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -2893,7 +2923,7 @@ msgstr ""
msgid "TARGET"
msgstr ""
-#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879 lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879 lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -2951,7 +2981,7 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685 lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697 lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3013,7 +3043,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3021,7 +3051,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3062,7 +3092,7 @@ msgstr ""
msgid "URL"
msgstr ""
-#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567 lxc/storage_volume.go:1139
+#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567 lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3114,7 +3144,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3128,7 +3158,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid "Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3246,11 +3276,11 @@ msgstr ""
msgid "attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid "attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3270,7 +3300,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3302,7 +3332,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3354,7 +3384,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3374,11 +3404,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3426,7 +3456,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3472,6 +3502,10 @@ msgstr ""
msgid "export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3488,7 +3522,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3524,6 +3558,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3572,7 +3610,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3761,12 +3799,17 @@ msgid "lxc storage edit [<remote>:]<pool> < pool.yaml\n"
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid "lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid "lxc storage volume import default backup0.tar.gz\n"
+ " Create a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid "lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the \"default\" pool.\n"
"\n"
@@ -3786,7 +3829,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -3910,7 +3953,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid "rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new snapshot name>]"
msgstr ""
@@ -3930,7 +3973,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -3946,7 +3989,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -3998,7 +4041,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4018,7 +4061,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4087,7 +4130,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4115,7 +4158,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/nb_NO.po b/po/nb_NO.po
index c93a0c8497..4921253471 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/nl.po b/po/nl.po
index 3cef9983d0..6767cd98e7 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: 2019-09-06 07:09+0000\n"
"Last-Translator: Stéphane Graber <stgraber at stgraber.org>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/linux-containers/"
@@ -50,7 +50,7 @@ msgstr ""
"### source: /home/chb/mnt/lxd_test/default.img\n"
"### zfs.pool_name: default"
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
#, fuzzy
msgid ""
"### This is a YAML representation of a storage volume.\n"
@@ -478,11 +478,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -526,7 +526,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -536,7 +541,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -576,7 +581,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -695,12 +700,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -739,7 +744,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -748,7 +753,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -789,7 +794,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -797,7 +802,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -814,7 +819,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -868,7 +873,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -920,7 +925,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -936,7 +941,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -984,7 +989,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -1029,15 +1034,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -1049,11 +1055,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1186,7 +1192,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1270,6 +1276,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1278,7 +1288,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1385,7 +1399,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1448,7 +1462,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1508,7 +1522,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1550,10 +1564,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1569,6 +1591,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1687,7 +1714,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1877,7 +1904,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -2012,11 +2039,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2101,14 +2128,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2126,7 +2153,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2155,8 +2182,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2168,7 +2195,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2176,7 +2203,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2191,7 +2218,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2289,15 +2316,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2311,11 +2338,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2409,7 +2440,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2692,15 +2723,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2740,7 +2771,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2905,11 +2936,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2998,7 +3029,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -3044,7 +3075,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3121,21 +3152,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3174,7 +3205,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3235,8 +3266,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3303,7 +3334,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3311,7 +3342,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3355,7 +3386,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3407,7 +3438,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3421,7 +3452,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3546,11 +3577,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3573,7 +3604,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3605,7 +3636,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3659,7 +3690,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3679,11 +3710,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3731,7 +3762,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3778,6 +3809,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3794,7 +3829,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3832,6 +3867,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3881,7 +3920,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -4105,13 +4144,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4134,7 +4179,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4264,7 +4309,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4286,7 +4331,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4302,7 +4347,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4374,7 +4419,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4443,7 +4488,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4471,7 +4516,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/pa.po b/po/pa.po
index 3f67654814..94a8e692d5 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index b8b4e8eaa0..204ff0a21d 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+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/"
@@ -48,7 +48,7 @@ msgstr ""
"### config:\n"
"### size: \"61203283968\""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
#, fuzzy
msgid ""
"### This is a YAML representation of a storage volume.\n"
@@ -488,11 +488,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -536,7 +536,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -546,7 +551,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -586,7 +591,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -705,12 +710,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -749,7 +754,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -758,7 +763,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -799,7 +804,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -807,7 +812,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -824,7 +829,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -878,7 +883,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -930,7 +935,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -946,7 +951,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -994,7 +999,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -1039,15 +1044,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -1059,11 +1065,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1196,7 +1202,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1280,6 +1286,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1288,7 +1298,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1395,7 +1409,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1458,7 +1472,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1518,7 +1532,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1560,10 +1574,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1579,6 +1601,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1697,7 +1724,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1887,7 +1914,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -2022,11 +2049,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2111,14 +2138,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2136,7 +2163,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2165,8 +2192,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2178,7 +2205,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2186,7 +2213,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2201,7 +2228,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2299,15 +2326,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2321,11 +2348,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2419,7 +2450,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2702,15 +2733,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2750,7 +2781,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2915,11 +2946,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -3008,7 +3039,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -3054,7 +3085,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3131,21 +3162,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3184,7 +3215,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3245,8 +3276,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3313,7 +3344,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3321,7 +3352,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3365,7 +3396,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3417,7 +3448,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3431,7 +3462,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3556,11 +3587,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3583,7 +3614,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3615,7 +3646,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3669,7 +3700,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3689,11 +3720,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3741,7 +3772,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3788,6 +3819,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3804,7 +3839,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3842,6 +3877,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3891,7 +3930,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -4115,13 +4154,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4144,7 +4189,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4274,7 +4319,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4296,7 +4341,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4312,7 +4357,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4364,7 +4409,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4384,7 +4429,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4453,7 +4498,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4481,7 +4526,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index b069084f76..71aff97040 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: 2019-09-06 07:09+0000\n"
"Last-Translator: Stéphane Graber <stgraber at stgraber.org>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
@@ -51,7 +51,7 @@ msgstr ""
"### source: /home/chb/mnt/lxd_test/default.img\n"
"### zfs.pool_name: default"
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
#, fuzzy
msgid ""
"### This is a YAML representation of a storage volume.\n"
@@ -500,12 +500,12 @@ msgstr "Anexar interfaces de rede aos perfis"
msgid "Attach new network interfaces to instances"
msgstr "Anexar uma nova interface de rede aos containers"
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
#, fuzzy
msgid "Attach new storage volumes to instances"
msgstr "Desconectar volumes de armazenamento dos containers"
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -550,7 +550,12 @@ msgstr "IMAGEM BASE"
msgid "Backing up instance: %s"
msgstr "Editar arquivos no container"
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, fuzzy, c-format
+msgid "Backing up storage volume: %s"
+msgstr "Editar arquivos no container"
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr "Backup exportado com sucesso!"
@@ -560,7 +565,7 @@ msgid "Bad key/value pair: %s"
msgstr "par de chave/valor inválido %s"
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr "par de chave=valor inválido %s"
@@ -600,7 +605,7 @@ msgstr "CANCELÁVEL"
msgid "COMMON NAME"
msgstr "NOME COMUM"
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -721,12 +726,12 @@ msgstr "Versão do cliente: %s\n"
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr "Nome de membro do cluster"
@@ -772,7 +777,7 @@ msgstr "Configuração chave/valor para aplicar ao novo contêiner"
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr "Erro de análise de configuração: %s"
@@ -781,7 +786,7 @@ msgstr "Erro de análise de configuração: %s"
msgid "Console log:"
msgstr "Log de Console:"
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -823,7 +828,7 @@ msgstr ""
msgid "Copy profiles"
msgstr "Copiar perfis"
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -831,7 +836,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -849,7 +854,7 @@ msgstr "Copiar a imagem: %s"
msgid "Copying the image: %s"
msgstr "Copiar a imagem: %s"
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -909,7 +914,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -963,7 +968,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -979,7 +984,7 @@ msgstr "DRIVER"
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
#, fuzzy
msgid "Define a compression algorithm: for backup or none"
msgstr "Definir um algoritmo de compressão: para imagem ou nenhum"
@@ -1031,7 +1036,7 @@ msgstr "Apagar projetos"
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -1076,15 +1081,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr "Descrição"
@@ -1097,12 +1103,12 @@ msgstr "Desconectar interfaces de rede dos containers"
msgid "Detach network interfaces from profiles"
msgstr "Desconectar interfaces de rede dos perfis"
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
#, fuzzy
msgid "Detach storage volumes from instances"
msgstr "Desconectar volumes de armazenamento dos containers"
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr "Desconectar volumes de armazenamento dos perfis"
@@ -1243,7 +1249,7 @@ msgstr "Editar configurações de perfil como YAML"
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1327,6 +1333,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1335,7 +1345,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1442,7 +1456,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1508,7 +1522,7 @@ msgstr "Editar configurações de perfil como YAML"
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1568,7 +1582,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1612,10 +1626,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr "Anexar interfaces de rede aos perfis"
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1631,6 +1653,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, fuzzy, c-format
+msgid "Importing custom volume: %s"
+msgstr "Editar arquivos no container"
+
#: lxc/import.go:72
#, fuzzy, c-format
msgid "Importing instance: %s"
@@ -1749,7 +1776,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1940,7 +1967,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -2080,11 +2107,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2170,14 +2197,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2195,7 +2222,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2224,8 +2251,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2237,7 +2264,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2245,7 +2272,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2260,7 +2287,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2358,15 +2385,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2380,11 +2407,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2478,7 +2509,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2767,15 +2798,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2816,7 +2847,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2984,11 +3015,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -3082,7 +3113,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -3128,7 +3159,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3205,21 +3236,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3259,7 +3290,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3320,8 +3351,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3388,7 +3419,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3396,7 +3427,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3440,7 +3471,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3496,7 +3527,7 @@ msgstr "Editar configurações de perfil como YAML"
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3510,7 +3541,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3635,11 +3666,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3662,7 +3693,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3694,7 +3725,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3748,7 +3779,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3768,11 +3799,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3820,7 +3851,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3867,6 +3898,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3883,7 +3918,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3921,6 +3956,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3970,7 +4009,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -4194,13 +4233,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4223,7 +4268,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4353,7 +4398,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4375,7 +4420,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4391,7 +4436,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4443,7 +4488,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4463,7 +4508,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4532,7 +4577,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4560,7 +4605,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/ru.po b/po/ru.po
index 72132b87b0..a715823982 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: 2020-08-02 01:42+0000\n"
"Last-Translator: Anthony <aemeltsev at gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/linux-containers/"
@@ -51,7 +51,7 @@ msgstr ""
"### source: /home/chb/mnt/lxd_test/default.img\n"
"### zfs.pool_name: default"
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
#, fuzzy
msgid ""
"### This is a YAML representation of a storage volume.\n"
@@ -492,12 +492,12 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
#, fuzzy
msgid "Attach new storage volumes to instances"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -541,7 +541,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr "Невозможно добавить имя контейнера в список"
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, fuzzy, c-format
+msgid "Backing up storage volume: %s"
+msgstr "Копирование образа: %s"
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -551,7 +556,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -591,7 +596,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr "ОБЩЕЕ ИМЯ"
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -713,12 +718,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -757,7 +762,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -766,7 +771,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -807,7 +812,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
#, fuzzy
msgid "Copy storage volumes"
msgstr "Копирование образа: %s"
@@ -816,7 +821,7 @@ msgstr "Копирование образа: %s"
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -834,7 +839,7 @@ msgstr "Копирование образа: %s"
msgid "Copying the image: %s"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, fuzzy, c-format
msgid "Copying the storage volume: %s"
msgstr "Копирование образа: %s"
@@ -892,7 +897,7 @@ msgstr ""
msgid "Create instances from images"
msgstr "Невозможно добавить имя контейнера в список"
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
#, fuzzy
msgid "Create new custom storage volumes"
msgstr "Копирование образа: %s"
@@ -949,7 +954,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -965,7 +970,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -1016,7 +1021,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
#, fuzzy
msgid "Delete storage volumes"
msgstr "Копирование образа: %s"
@@ -1062,15 +1067,16 @@ msgstr "Копирование образа: %s"
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -1082,12 +1088,12 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
#, fuzzy
msgid "Detach storage volumes from instances"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1225,7 +1231,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1310,6 +1316,11 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+#, fuzzy
+msgid "Export custom storage volume"
+msgstr "Копирование образа: %s"
+
#: lxc/export.go:31
#, fuzzy
msgid "Export instance backups"
@@ -1320,7 +1331,12 @@ msgstr "Невозможно добавить имя контейнера в с
msgid "Export instances as backup tarballs."
msgstr "Невозможно добавить имя контейнера в список"
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+#, fuzzy
+msgid "Export the volume without its snapshots"
+msgstr "Копирование образа: %s"
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, fuzzy, c-format
msgid "Exporting the backup: %s"
msgstr "Копирование образа: %s"
@@ -1427,7 +1443,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1490,7 +1506,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1550,7 +1566,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1593,10 +1609,19 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+#, fuzzy
+msgid "Import custom storage volumes"
+msgstr "Копирование образа: %s"
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1614,6 +1639,11 @@ msgstr "Копирование образа: %s"
msgid "Import instance backups"
msgstr "Невозможно добавить имя контейнера в список"
+#: lxc/storage_volume.go:1839
+#, fuzzy, c-format
+msgid "Importing custom volume: %s"
+msgstr "Невозможно добавить имя контейнера в список"
+
#: lxc/import.go:72
#, fuzzy, c-format
msgid "Importing instance: %s"
@@ -1733,7 +1763,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1927,7 +1957,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
#, fuzzy
msgid "List storage volumes"
msgstr "Копирование образа: %s"
@@ -2067,12 +2097,12 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
#, fuzzy
msgid "Manage storage volumes"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -2161,14 +2191,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2187,7 +2217,7 @@ msgstr "Имя контейнера: %s"
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
#, fuzzy
msgid "Missing source volume name"
msgstr "Копирование образа: %s"
@@ -2217,8 +2247,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2230,7 +2260,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
#, fuzzy
msgid "Move storage volumes between pools"
msgstr "Копирование образа: %s"
@@ -2239,7 +2269,7 @@ msgstr "Копирование образа: %s"
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, fuzzy, c-format
msgid "Moving the storage volume: %s"
msgstr "Копирование образа: %s"
@@ -2254,7 +2284,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2354,16 +2384,16 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
#, fuzzy
msgid "No device found for this storage volume"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2377,11 +2407,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2475,7 +2509,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2761,17 +2795,17 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
#, fuzzy
msgid "Rename storage volumes"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
#, fuzzy
msgid "Rename storage volumes and storage volume snapshots"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2813,7 +2847,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr "Копирование образа: %s"
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
#, fuzzy
msgid "Restore storage volume snapshots"
msgstr "Копирование образа: %s"
@@ -2979,11 +3013,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -3074,7 +3108,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -3120,7 +3154,7 @@ msgstr ""
msgid "Size: %s"
msgstr "Авто-обновление: %s"
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
#, fuzzy
msgid "Snapshot storage volumes"
msgstr "Копирование образа: %s"
@@ -3200,21 +3234,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3254,7 +3288,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3315,8 +3349,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3383,7 +3417,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3391,7 +3425,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3435,7 +3469,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3487,7 +3521,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3501,7 +3535,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3639,7 +3673,7 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
#, fuzzy
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
@@ -3647,7 +3681,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3674,7 +3708,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3710,7 +3744,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3780,7 +3814,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
#, fuzzy
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3812,7 +3846,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
#, fuzzy
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
@@ -3820,7 +3854,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3888,7 +3922,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
#, fuzzy
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3947,6 +3981,14 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
+#: lxc/storage_volume.go:1660
+#, fuzzy
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+"Изменение состояния одного или нескольких контейнеров %s.\n"
+"\n"
+"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3967,7 +4009,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
#, fuzzy
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -4021,6 +4063,14 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+#, fuzzy
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+"Изменение состояния одного или нескольких контейнеров %s.\n"
+"\n"
+"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -4082,7 +4132,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -4310,13 +4360,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4339,7 +4395,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
#, fuzzy
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4517,7 +4573,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
#, fuzzy
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
@@ -4551,7 +4607,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
#, fuzzy
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4579,7 +4635,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
#, fuzzy
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4659,7 +4715,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
#, fuzzy
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4691,7 +4747,7 @@ msgstr ""
"\n"
"lxc %s [<remote>:]<container> [[<remote>:]<container>...]%s"
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
#, fuzzy
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4780,7 +4836,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4820,7 +4876,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
#, fuzzy
msgid "volume"
msgstr "Столбцы"
diff --git a/po/sl.po b/po/sl.po
index fa20459cae..3127015a82 100644
--- a/po/sl.po
+++ b/po/sl.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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/sr.po b/po/sr.po
index 9f7ab736a3..2fb236d339 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/sv.po b/po/sv.po
index c089d2af25..8ea3ca88d6 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/te.po b/po/te.po
index 74cb606373..1869df97a8 100644
--- a/po/te.po
+++ b/po/te.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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/tr.po b/po/tr.po
index 4fbfd1936d..b17c0c23ea 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/ug.po b/po/ug.po
index 20233ebf05..68a032c821 100644
--- a/po/ug.po
+++ b/po/ug.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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/uk.po b/po/uk.po
index bcbf2ae013..72348e5912 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -33,7 +33,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -361,11 +361,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -409,7 +409,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -419,7 +424,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -459,7 +464,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -578,12 +583,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -622,7 +627,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -631,7 +636,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -672,7 +677,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -680,7 +685,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -697,7 +702,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -751,7 +756,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -803,7 +808,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -819,7 +824,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -867,7 +872,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -912,15 +917,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -932,11 +938,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1069,7 +1075,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1153,6 +1159,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1161,7 +1171,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1268,7 +1282,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1331,7 +1345,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1391,7 +1405,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1433,10 +1447,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1452,6 +1474,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1570,7 +1597,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1760,7 +1787,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1895,11 +1922,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1984,14 +2011,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2009,7 +2036,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2038,8 +2065,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2051,7 +2078,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2059,7 +2086,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2074,7 +2101,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2172,15 +2199,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2194,11 +2221,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2292,7 +2323,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2575,15 +2606,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2623,7 +2654,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2788,11 +2819,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2881,7 +2912,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2927,7 +2958,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3004,21 +3035,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3057,7 +3088,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3118,8 +3149,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3186,7 +3217,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3194,7 +3225,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3238,7 +3269,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3290,7 +3321,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3304,7 +3335,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3429,11 +3460,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3456,7 +3487,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3488,7 +3519,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3542,7 +3573,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3562,11 +3593,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3614,7 +3645,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3661,6 +3692,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3677,7 +3712,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3715,6 +3750,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3764,7 +3803,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3988,13 +4027,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4017,7 +4062,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4147,7 +4192,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4169,7 +4214,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4185,7 +4230,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4237,7 +4282,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4257,7 +4302,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4326,7 +4371,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4354,7 +4399,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
diff --git a/po/zh_Hans.po b/po/zh_Hans.po
index 016b26b3cd..e6f3c2c5a9 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: 2020-09-14 14:06+0100\n"
+"POT-Creation-Date: 2020-09-15 11:34+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/"
@@ -36,7 +36,7 @@ msgid ""
"### zfs.pool_name: default"
msgstr ""
-#: lxc/storage_volume.go:803
+#: lxc/storage_volume.go:815
msgid ""
"### This is a YAML representation of a storage volume.\n"
"### Any line starting with a '# will be ignored.\n"
@@ -364,11 +364,11 @@ msgstr ""
msgid "Attach new network interfaces to instances"
msgstr ""
-#: lxc/storage_volume.go:139 lxc/storage_volume.go:140
+#: lxc/storage_volume.go:151 lxc/storage_volume.go:152
msgid "Attach new storage volumes to instances"
msgstr ""
-#: lxc/storage_volume.go:222 lxc/storage_volume.go:223
+#: lxc/storage_volume.go:234 lxc/storage_volume.go:235
msgid "Attach new storage volumes to profiles"
msgstr ""
@@ -412,7 +412,12 @@ msgstr ""
msgid "Backing up instance: %s"
msgstr ""
-#: lxc/export.go:158
+#: lxc/storage_volume.go:1716
+#, c-format
+msgid "Backing up storage volume: %s"
+msgstr ""
+
+#: lxc/export.go:158 lxc/storage_volume.go:1782
msgid "Backup exported successfully!"
msgstr ""
@@ -422,7 +427,7 @@ msgid "Bad key/value pair: %s"
msgstr ""
#: lxc/copy.go:121 lxc/init.go:187 lxc/project.go:121 lxc/publish.go:172
-#: lxc/storage.go:123 lxc/storage_volume.go:516
+#: lxc/storage.go:123 lxc/storage_volume.go:528
#, c-format
msgid "Bad key=value pair: %s"
msgstr ""
@@ -462,7 +467,7 @@ msgstr ""
msgid "COMMON NAME"
msgstr ""
-#: lxc/storage_volume.go:1138
+#: lxc/storage_volume.go:1150
msgid "CONTENT TYPE"
msgstr ""
@@ -581,12 +586,12 @@ msgstr ""
#: lxc/move.go:57 lxc/network.go:257 lxc/network.go:675 lxc/network.go:733
#: lxc/network.go:1030 lxc/network.go:1097 lxc/network.go:1159
#: lxc/storage.go:92 lxc/storage.go:336 lxc/storage.go:392 lxc/storage.go:588
-#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:314
-#: lxc/storage_volume.go:475 lxc/storage_volume.go:554
-#: lxc/storage_volume.go:796 lxc/storage_volume.go:993
-#: lxc/storage_volume.go:1165 lxc/storage_volume.go:1195
-#: lxc/storage_volume.go:1311 lxc/storage_volume.go:1390
-#: lxc/storage_volume.go:1483
+#: lxc/storage.go:655 lxc/storage.go:738 lxc/storage_volume.go:326
+#: lxc/storage_volume.go:487 lxc/storage_volume.go:566
+#: lxc/storage_volume.go:808 lxc/storage_volume.go:1005
+#: lxc/storage_volume.go:1177 lxc/storage_volume.go:1207
+#: lxc/storage_volume.go:1323 lxc/storage_volume.go:1402
+#: lxc/storage_volume.go:1495
msgid "Cluster member name"
msgstr ""
@@ -625,7 +630,7 @@ msgstr ""
#: lxc/cluster.go:503 lxc/config.go:255 lxc/config.go:328
#: lxc/config_metadata.go:142 lxc/image.go:421 lxc/network.go:643
#: lxc/profile.go:498 lxc/project.go:304 lxc/storage.go:303
-#: lxc/storage_volume.go:929 lxc/storage_volume.go:959
+#: lxc/storage_volume.go:941 lxc/storage_volume.go:971
#, c-format
msgid "Config parsing error: %s"
msgstr ""
@@ -634,7 +639,7 @@ msgstr ""
msgid "Console log:"
msgstr ""
-#: lxc/storage_volume.go:476
+#: lxc/storage_volume.go:488
msgid "Content type, block or filesystem"
msgstr ""
@@ -675,7 +680,7 @@ msgstr ""
msgid "Copy profiles"
msgstr ""
-#: lxc/storage_volume.go:309 lxc/storage_volume.go:310
+#: lxc/storage_volume.go:321 lxc/storage_volume.go:322
msgid "Copy storage volumes"
msgstr ""
@@ -683,7 +688,7 @@ msgstr ""
msgid "Copy the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:315
+#: lxc/storage_volume.go:327
msgid "Copy the volume without its snapshots"
msgstr ""
@@ -700,7 +705,7 @@ msgstr ""
msgid "Copying the image: %s"
msgstr ""
-#: lxc/storage_volume.go:370
+#: lxc/storage_volume.go:382
#, c-format
msgid "Copying the storage volume: %s"
msgstr ""
@@ -754,7 +759,7 @@ msgstr ""
msgid "Create instances from images"
msgstr ""
-#: lxc/storage_volume.go:471 lxc/storage_volume.go:472
+#: lxc/storage_volume.go:483 lxc/storage_volume.go:484
msgid "Create new custom storage volumes"
msgstr ""
@@ -806,7 +811,7 @@ msgid "DATABASE"
msgstr ""
#: lxc/image.go:1014 lxc/image_alias.go:234 lxc/list.go:429 lxc/network.go:883
-#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1137
+#: lxc/operation.go:160 lxc/storage.go:559 lxc/storage_volume.go:1149
msgid "DESCRIPTION"
msgstr ""
@@ -822,7 +827,7 @@ msgstr ""
msgid "DRM:"
msgstr ""
-#: lxc/export.go:43
+#: lxc/export.go:43 lxc/storage_volume.go:1668
msgid "Define a compression algorithm: for backup or none"
msgstr ""
@@ -870,7 +875,7 @@ msgstr ""
msgid "Delete storage pools"
msgstr ""
-#: lxc/storage_volume.go:550 lxc/storage_volume.go:551
+#: lxc/storage_volume.go:562 lxc/storage_volume.go:563
msgid "Delete storage volumes"
msgstr ""
@@ -915,15 +920,16 @@ msgstr ""
#: lxc/restore.go:24 lxc/snapshot.go:27 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:508 lxc/storage.go:582 lxc/storage.go:651 lxc/storage.go:735
-#: lxc/storage_volume.go:33 lxc/storage_volume.go:140 lxc/storage_volume.go:223
-#: lxc/storage_volume.go:310 lxc/storage_volume.go:472
-#: lxc/storage_volume.go:551 lxc/storage_volume.go:627
-#: lxc/storage_volume.go:709 lxc/storage_volume.go:790
-#: lxc/storage_volume.go:990 lxc/storage_volume.go:1081
-#: lxc/storage_volume.go:1161 lxc/storage_volume.go:1192
-#: lxc/storage_volume.go:1305 lxc/storage_volume.go:1381
-#: lxc/storage_volume.go:1480 lxc/storage_volume.go:1513
-#: lxc/storage_volume.go:1589 lxc/version.go:22
+#: lxc/storage_volume.go:37 lxc/storage_volume.go:152 lxc/storage_volume.go:235
+#: lxc/storage_volume.go:322 lxc/storage_volume.go:484
+#: lxc/storage_volume.go:563 lxc/storage_volume.go:639
+#: lxc/storage_volume.go:721 lxc/storage_volume.go:802
+#: lxc/storage_volume.go:1002 lxc/storage_volume.go:1093
+#: lxc/storage_volume.go:1173 lxc/storage_volume.go:1204
+#: lxc/storage_volume.go:1317 lxc/storage_volume.go:1393
+#: lxc/storage_volume.go:1492 lxc/storage_volume.go:1525
+#: lxc/storage_volume.go:1601 lxc/storage_volume.go:1662
+#: lxc/storage_volume.go:1797 lxc/version.go:22
msgid "Description"
msgstr ""
@@ -935,11 +941,11 @@ msgstr ""
msgid "Detach network interfaces from profiles"
msgstr ""
-#: lxc/storage_volume.go:626 lxc/storage_volume.go:627
+#: lxc/storage_volume.go:638 lxc/storage_volume.go:639
msgid "Detach storage volumes from instances"
msgstr ""
-#: lxc/storage_volume.go:708 lxc/storage_volume.go:709
+#: lxc/storage_volume.go:720 lxc/storage_volume.go:721
msgid "Detach storage volumes from profiles"
msgstr ""
@@ -1072,7 +1078,7 @@ msgstr ""
msgid "Edit storage pool configurations as YAML"
msgstr ""
-#: lxc/storage_volume.go:789 lxc/storage_volume.go:790
+#: lxc/storage_volume.go:801 lxc/storage_volume.go:802
msgid "Edit storage volume configurations as YAML"
msgstr ""
@@ -1156,6 +1162,10 @@ msgid ""
"The output target is optional and defaults to the working directory."
msgstr ""
+#: lxc/storage_volume.go:1661 lxc/storage_volume.go:1662
+msgid "Export custom storage volume"
+msgstr ""
+
#: lxc/export.go:31
msgid "Export instance backups"
msgstr ""
@@ -1164,7 +1174,11 @@ msgstr ""
msgid "Export instances as backup tarballs."
msgstr ""
-#: lxc/export.go:142
+#: lxc/storage_volume.go:1665
+msgid "Export the volume without its snapshots"
+msgstr ""
+
+#: lxc/export.go:142 lxc/storage_volume.go:1766
#, c-format
msgid "Exporting the backup: %s"
msgstr ""
@@ -1271,7 +1285,7 @@ msgstr ""
#: lxc/config_trust.go:117 lxc/image.go:1001 lxc/image_alias.go:155
#: lxc/list.go:118 lxc/network.go:814 lxc/network.go:907 lxc/operation.go:104
#: lxc/profile.go:581 lxc/project.go:386 lxc/remote.go:463 lxc/storage.go:510
-#: lxc/storage_volume.go:1083
+#: lxc/storage_volume.go:1095
msgid "Format (csv|json|table|yaml)"
msgstr ""
@@ -1334,7 +1348,7 @@ msgstr ""
msgid "Get values for storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:989 lxc/storage_volume.go:990
+#: lxc/storage_volume.go:1001 lxc/storage_volume.go:1002
msgid "Get values for storage volume configuration keys"
msgstr ""
@@ -1394,7 +1408,7 @@ msgstr ""
msgid "Ignore any configured auto-expiry for the instance"
msgstr ""
-#: lxc/storage_volume.go:1517
+#: lxc/storage_volume.go:1529
msgid "Ignore any configured auto-expiry for the storage volume"
msgstr ""
@@ -1436,10 +1450,18 @@ msgstr ""
msgid "Immediately attach to the console"
msgstr ""
+#: lxc/storage_volume.go:1797
+msgid "Import backups of custom volumes including their snapshots."
+msgstr ""
+
#: lxc/import.go:28
msgid "Import backups of instances including their snapshots."
msgstr ""
+#: lxc/storage_volume.go:1796
+msgid "Import custom storage volumes"
+msgstr ""
+
#: lxc/image.go:612
msgid ""
"Import image into the image store\n"
@@ -1455,6 +1477,11 @@ msgstr ""
msgid "Import instance backups"
msgstr ""
+#: lxc/storage_volume.go:1839
+#, c-format
+msgid "Importing custom volume: %s"
+msgstr ""
+
#: lxc/import.go:72
#, c-format
msgid "Importing instance: %s"
@@ -1573,7 +1600,7 @@ msgid "LAST USED AT"
msgstr ""
#: lxc/list.go:455 lxc/network.go:957 lxc/operation.go:165
-#: lxc/storage_volume.go:1142
+#: lxc/storage_volume.go:1154
msgid "LOCATION"
msgstr ""
@@ -1763,7 +1790,7 @@ msgstr ""
msgid "List projects"
msgstr ""
-#: lxc/storage_volume.go:1080 lxc/storage_volume.go:1081
+#: lxc/storage_volume.go:1092 lxc/storage_volume.go:1093
msgid "List storage volumes"
msgstr ""
@@ -1898,11 +1925,11 @@ msgstr ""
msgid "Manage storage pools and volumes"
msgstr ""
-#: lxc/storage_volume.go:32
+#: lxc/storage_volume.go:36
msgid "Manage storage volumes"
msgstr ""
-#: lxc/storage_volume.go:33
+#: lxc/storage_volume.go:37
msgid ""
"Manage storage volumes\n"
"\n"
@@ -1987,14 +2014,14 @@ msgid "Missing network name"
msgstr ""
#: lxc/storage.go:187 lxc/storage.go:257 lxc/storage.go:358 lxc/storage.go:414
-#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:164
-#: lxc/storage_volume.go:247 lxc/storage_volume.go:498
-#: lxc/storage_volume.go:575 lxc/storage_volume.go:651
-#: lxc/storage_volume.go:733 lxc/storage_volume.go:832
-#: lxc/storage_volume.go:1015 lxc/storage_volume.go:1106
-#: lxc/storage_volume.go:1217 lxc/storage_volume.go:1332
-#: lxc/storage_volume.go:1412 lxc/storage_volume.go:1537
-#: lxc/storage_volume.go:1612
+#: lxc/storage.go:611 lxc/storage.go:683 lxc/storage_volume.go:176
+#: lxc/storage_volume.go:259 lxc/storage_volume.go:510
+#: lxc/storage_volume.go:587 lxc/storage_volume.go:663
+#: lxc/storage_volume.go:745 lxc/storage_volume.go:844
+#: lxc/storage_volume.go:1027 lxc/storage_volume.go:1118
+#: lxc/storage_volume.go:1229 lxc/storage_volume.go:1344
+#: lxc/storage_volume.go:1424 lxc/storage_volume.go:1549
+#: lxc/storage_volume.go:1624
msgid "Missing pool name"
msgstr ""
@@ -2012,7 +2039,7 @@ msgstr ""
msgid "Missing source profile name"
msgstr ""
-#: lxc/storage_volume.go:337
+#: lxc/storage_volume.go:349
msgid "Missing source volume name"
msgstr ""
@@ -2041,8 +2068,8 @@ msgid ""
"By default the monitor will listen to all message types."
msgstr ""
-#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:671
-#: lxc/storage_volume.go:752
+#: lxc/network.go:423 lxc/network.go:508 lxc/storage_volume.go:683
+#: lxc/storage_volume.go:764
msgid "More than one device matches, specify the device name"
msgstr ""
@@ -2054,7 +2081,7 @@ msgstr ""
msgid "Move instances within or in between LXD servers"
msgstr ""
-#: lxc/storage_volume.go:1160 lxc/storage_volume.go:1161
+#: lxc/storage_volume.go:1172 lxc/storage_volume.go:1173
msgid "Move storage volumes between pools"
msgstr ""
@@ -2062,7 +2089,7 @@ msgstr ""
msgid "Move the instance without its snapshots"
msgstr ""
-#: lxc/storage_volume.go:374
+#: lxc/storage_volume.go:386
#, c-format
msgid "Moving the storage volume: %s"
msgstr ""
@@ -2077,7 +2104,7 @@ msgstr ""
#: lxc/cluster.go:132 lxc/list.go:435 lxc/network.go:878 lxc/profile.go:620
#: lxc/project.go:460 lxc/remote.go:517 lxc/storage.go:558
-#: lxc/storage_volume.go:1136
+#: lxc/storage_volume.go:1148
msgid "NAME"
msgstr ""
@@ -2175,15 +2202,15 @@ msgstr ""
msgid "No device found for this network"
msgstr ""
-#: lxc/storage_volume.go:680 lxc/storage_volume.go:761
+#: lxc/storage_volume.go:692 lxc/storage_volume.go:773
msgid "No device found for this storage volume"
msgstr ""
-#: lxc/storage_volume.go:351
+#: lxc/storage_volume.go:363
msgid "No storage pool for source volume specified"
msgstr ""
-#: lxc/storage_volume.go:358
+#: lxc/storage_volume.go:370
msgid "No storage pool for target volume specified"
msgstr ""
@@ -2197,11 +2224,15 @@ msgstr ""
msgid "Node %d:\n"
msgstr ""
-#: lxc/storage_volume.go:182 lxc/storage_volume.go:265
+#: lxc/storage_volume.go:194 lxc/storage_volume.go:277
msgid "Only \"custom\" volumes can be attached to instances"
msgstr ""
-#: lxc/storage_volume.go:1545
+#: lxc/storage_volume.go:1698
+msgid "Only \"custom\" volumes can be exported"
+msgstr ""
+
+#: lxc/storage_volume.go:1557
msgid "Only \"custom\" volumes can be snapshotted"
msgstr ""
@@ -2295,7 +2326,7 @@ msgid "Ports:"
msgstr ""
#: lxc/cluster.go:504 lxc/network.go:644 lxc/profile.go:499 lxc/project.go:305
-#: lxc/storage.go:304 lxc/storage_volume.go:930 lxc/storage_volume.go:960
+#: lxc/storage.go:304 lxc/storage_volume.go:942 lxc/storage_volume.go:972
msgid "Press enter to open the editor again"
msgstr ""
@@ -2578,15 +2609,15 @@ msgstr ""
msgid "Rename remotes"
msgstr ""
-#: lxc/storage_volume.go:1192
+#: lxc/storage_volume.go:1204
msgid "Rename storage volumes"
msgstr ""
-#: lxc/storage_volume.go:1191
+#: lxc/storage_volume.go:1203
msgid "Rename storage volumes and storage volume snapshots"
msgstr ""
-#: lxc/storage_volume.go:1268 lxc/storage_volume.go:1288
+#: lxc/storage_volume.go:1280 lxc/storage_volume.go:1300
#, c-format
msgid "Renamed storage volume from \"%s\" to \"%s\""
msgstr ""
@@ -2626,7 +2657,7 @@ msgstr ""
msgid "Restore instances from snapshots"
msgstr ""
-#: lxc/storage_volume.go:1588 lxc/storage_volume.go:1589
+#: lxc/storage_volume.go:1600 lxc/storage_volume.go:1601
msgid "Restore storage volume snapshots"
msgstr ""
@@ -2791,11 +2822,11 @@ msgid ""
" lxc storage set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1304
+#: lxc/storage_volume.go:1316
msgid "Set storage volume configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1305
+#: lxc/storage_volume.go:1317
msgid ""
"Set storage volume configuration keys\n"
"\n"
@@ -2884,7 +2915,7 @@ msgstr ""
msgid "Show storage pool configurations and resources"
msgstr ""
-#: lxc/storage_volume.go:1380 lxc/storage_volume.go:1381
+#: lxc/storage_volume.go:1392 lxc/storage_volume.go:1393
msgid "Show storage volume configurations"
msgstr ""
@@ -2930,7 +2961,7 @@ msgstr ""
msgid "Size: %s"
msgstr ""
-#: lxc/storage_volume.go:1512 lxc/storage_volume.go:1513
+#: lxc/storage_volume.go:1524 lxc/storage_volume.go:1525
msgid "Snapshot storage volumes"
msgstr ""
@@ -3007,21 +3038,21 @@ msgstr ""
msgid "Storage pool name"
msgstr ""
-#: lxc/storage_volume.go:533
+#: lxc/storage_volume.go:545
#, c-format
msgid "Storage volume %s created"
msgstr ""
-#: lxc/storage_volume.go:610
+#: lxc/storage_volume.go:622
#, c-format
msgid "Storage volume %s deleted"
msgstr ""
-#: lxc/storage_volume.go:371
+#: lxc/storage_volume.go:383
msgid "Storage volume copied successfully!"
msgstr ""
-#: lxc/storage_volume.go:375
+#: lxc/storage_volume.go:387
msgid "Storage volume moved successfully!"
msgstr ""
@@ -3060,7 +3091,7 @@ msgid "TARGET"
msgstr ""
#: lxc/image.go:1018 lxc/image_alias.go:233 lxc/list.go:441 lxc/network.go:879
-#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1135
+#: lxc/network.go:954 lxc/operation.go:159 lxc/storage_volume.go:1147
msgid "TYPE"
msgstr ""
@@ -3121,8 +3152,8 @@ msgstr ""
msgid "The source LXD server is not clustered"
msgstr ""
-#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:685
-#: lxc/storage_volume.go:766
+#: lxc/network.go:437 lxc/network.go:522 lxc/storage_volume.go:697
+#: lxc/storage_volume.go:778
msgid "The specified device doesn't exist"
msgstr ""
@@ -3189,7 +3220,7 @@ msgstr ""
msgid "Transceiver type: %s"
msgstr ""
-#: lxc/storage_volume.go:1164
+#: lxc/storage_volume.go:1176
msgid "Transfer mode, one of pull (default), push or relay"
msgstr ""
@@ -3197,7 +3228,7 @@ msgstr ""
msgid "Transfer mode. One of pull (default), push or relay"
msgstr ""
-#: lxc/move.go:54 lxc/storage_volume.go:313
+#: lxc/move.go:54 lxc/storage_volume.go:325
msgid "Transfer mode. One of pull (default), push or relay."
msgstr ""
@@ -3241,7 +3272,7 @@ msgid "URL"
msgstr ""
#: lxc/network.go:884 lxc/profile.go:621 lxc/project.go:465 lxc/storage.go:567
-#: lxc/storage_volume.go:1139
+#: lxc/storage_volume.go:1151
msgid "USED BY"
msgstr ""
@@ -3293,7 +3324,7 @@ msgstr ""
msgid "Unset storage pool configuration keys"
msgstr ""
-#: lxc/storage_volume.go:1479 lxc/storage_volume.go:1480
+#: lxc/storage_volume.go:1491 lxc/storage_volume.go:1492
msgid "Unset storage volume configuration keys"
msgstr ""
@@ -3307,7 +3338,7 @@ msgstr ""
msgid "Uploaded: %s"
msgstr ""
-#: lxc/export.go:42
+#: lxc/export.go:42 lxc/storage_volume.go:1667
msgid ""
"Use storage driver optimized format (can only be restored on a similar pool)"
msgstr ""
@@ -3432,11 +3463,11 @@ msgid ""
"attach [<remote>:]<network> <instance> [<device name>] [<interface name>]"
msgstr ""
-#: lxc/storage_volume.go:138
+#: lxc/storage_volume.go:150
msgid "attach [<remote>:]<pool> <volume> <instance> [<device name>] <path>"
msgstr ""
-#: lxc/storage_volume.go:221
+#: lxc/storage_volume.go:233
msgid ""
"attach-profile [<remote:>]<pool> <volume> <profile> [<device name>] <path>"
msgstr ""
@@ -3459,7 +3490,7 @@ msgstr ""
msgid "console [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:307
+#: lxc/storage_volume.go:319
msgid "copy <pool>/<volume>[/<snapshot>] <pool>/<volume>"
msgstr ""
@@ -3491,7 +3522,7 @@ msgstr ""
msgid "create [<remote>:]<pool> <driver> [key=value...]"
msgstr ""
-#: lxc/storage_volume.go:470
+#: lxc/storage_volume.go:482
msgid "create [<remote>:]<pool> <volume> [key=value...]"
msgstr ""
@@ -3545,7 +3576,7 @@ msgstr ""
msgid "delete [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:548
+#: lxc/storage_volume.go:560
msgid "delete [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3565,11 +3596,11 @@ msgstr ""
msgid "detach [<remote>:]<network> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:625
+#: lxc/storage_volume.go:637
msgid "detach [<remote>:]<pool> <volume> <instance> [<device name>]"
msgstr ""
-#: lxc/storage_volume.go:707
+#: lxc/storage_volume.go:719
msgid "detach-profile [<remote:>]<pool> <volume> <profile> [<device name>]"
msgstr ""
@@ -3617,7 +3648,7 @@ msgstr ""
msgid "edit [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:788
+#: lxc/storage_volume.go:800
msgid "edit [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -3664,6 +3695,10 @@ msgid ""
"export [<remote>:]<instance> [target] [--instance-only] [--optimized-storage]"
msgstr ""
+#: lxc/storage_volume.go:1660
+msgid "export [<remote>:]<pool> <volume> [<path>]"
+msgstr ""
+
#: lxc/file.go:70
msgid "file"
msgstr ""
@@ -3680,7 +3715,7 @@ msgstr ""
msgid "get [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:988
+#: lxc/storage_volume.go:1000
msgid "get [<remote>:]<pool> <volume>[/<snapshot>] <key>"
msgstr ""
@@ -3718,6 +3753,10 @@ msgstr ""
msgid "import [<remote>:] <backup file>"
msgstr ""
+#: lxc/storage_volume.go:1795
+msgid "import [<remote>:]<pool> <backup file>"
+msgstr ""
+
#: lxc/storage.go:443
msgid "info"
msgstr ""
@@ -3767,7 +3806,7 @@ msgstr ""
msgid "list [<remote>:]<instance>"
msgstr ""
-#: lxc/storage_volume.go:1078
+#: lxc/storage_volume.go:1090
msgid "list [<remote>:]<pool>"
msgstr ""
@@ -3991,13 +4030,19 @@ msgid ""
" Update a storage pool using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:792
+#: lxc/storage_volume.go:804
msgid ""
"lxc storage volume edit [<remote>:]<pool> <volume> < volume.yaml\n"
" Update a storage volume using the content of pool.yaml."
msgstr ""
-#: lxc/storage_volume.go:1383
+#: lxc/storage_volume.go:1799
+msgid ""
+"lxc storage volume import default backup0.tar.gz\n"
+"\t\tCreate a new custom volume using backup0.tar.gz as the source."
+msgstr ""
+
+#: lxc/storage_volume.go:1395
msgid ""
"lxc storage volume show default data\n"
" Will show the properties of a custom volume called \"data\" in the "
@@ -4020,7 +4065,7 @@ msgstr ""
msgid "monitor [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:1158
+#: lxc/storage_volume.go:1170
msgid "move <pool>/<volume> <pool>/<volume>"
msgstr ""
@@ -4150,7 +4195,7 @@ msgstr ""
msgid "rename [<remote>:]<network> <new-name>"
msgstr ""
-#: lxc/storage_volume.go:1190
+#: lxc/storage_volume.go:1202
msgid ""
"rename [<remote>:]<pool> <old name>[/<old snapshot name>] <new name>[/<new "
"snapshot name>]"
@@ -4172,7 +4217,7 @@ msgstr ""
msgid "restore [<remote>:]<instance> <snapshot>"
msgstr ""
-#: lxc/storage_volume.go:1587
+#: lxc/storage_volume.go:1599
msgid "restore [<remote>:]<pool> <volume> <snapshot>"
msgstr ""
@@ -4188,7 +4233,7 @@ msgstr ""
msgid "set [<remote>:]<pool> <key> <value>"
msgstr ""
-#: lxc/storage_volume.go:1303
+#: lxc/storage_volume.go:1315
msgid "set [<remote>:]<pool> <volume> <key>=<value>..."
msgstr ""
@@ -4240,7 +4285,7 @@ msgstr ""
msgid "show [<remote>:]<pool>"
msgstr ""
-#: lxc/storage_volume.go:1379
+#: lxc/storage_volume.go:1391
msgid "show [<remote>:]<pool> <volume>[/<snapshot>]"
msgstr ""
@@ -4260,7 +4305,7 @@ msgstr ""
msgid "snapshot [<remote>:]<instance> [<snapshot name>]"
msgstr ""
-#: lxc/storage_volume.go:1511
+#: lxc/storage_volume.go:1523
msgid "snapshot [<remote>:]<pool> <volume> [<snapshot>]"
msgstr ""
@@ -4329,7 +4374,7 @@ msgstr ""
msgid "unset [<remote>:]<pool> <key>"
msgstr ""
-#: lxc/storage_volume.go:1478
+#: lxc/storage_volume.go:1490
msgid "unset [<remote>:]<pool> <volume> <key>"
msgstr ""
@@ -4357,7 +4402,7 @@ msgstr ""
msgid "version [<remote>:]"
msgstr ""
-#: lxc/storage_volume.go:31
+#: lxc/storage_volume.go:35
msgid "volume"
msgstr ""
More information about the lxc-devel
mailing list