blob: f8a3c4a19af497d6a840e5f7c05d03449a62c2fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
import errno
from enum import Enum, unique
from ...exception import VolumeException
@unique
class SubvolumeTypes(Enum):
TYPE_NORMAL = "subvolume"
TYPE_CLONE = "clone"
@staticmethod
def from_value(value):
if value == "subvolume":
return SubvolumeTypes.TYPE_NORMAL
if value == "clone":
return SubvolumeTypes.TYPE_CLONE
raise VolumeException(-errno.EINVAL, "invalid subvolume type '{0}'".format(value))
@unique
class SubvolumeStates(Enum):
STATE_INIT = 'init'
STATE_PENDING = 'pending'
STATE_INPROGRESS = 'in-progress'
STATE_FAILED = 'failed'
STATE_COMPLETE = 'complete'
STATE_CANCELED = 'canceled'
STATE_RETAINED = 'snapshot-retained'
@staticmethod
def from_value(value):
if value == "init":
return SubvolumeStates.STATE_INIT
if value == "pending":
return SubvolumeStates.STATE_PENDING
if value == "in-progress":
return SubvolumeStates.STATE_INPROGRESS
if value == "failed":
return SubvolumeStates.STATE_FAILED
if value == "complete":
return SubvolumeStates.STATE_COMPLETE
if value == "canceled":
return SubvolumeStates.STATE_CANCELED
if value == "snapshot-retained":
return SubvolumeStates.STATE_RETAINED
raise VolumeException(-errno.EINVAL, "invalid state '{0}'".format(value))
@unique
class SubvolumeActions(Enum):
ACTION_NONE = 0
ACTION_SUCCESS = 1
ACTION_FAILED = 2
ACTION_CANCELLED = 3
ACTION_RETAINED = 4
@unique
class SubvolumeFeatures(Enum):
FEATURE_SNAPSHOT_CLONE = "snapshot-clone"
FEATURE_SNAPSHOT_RETENTION = "snapshot-retention"
FEATURE_SNAPSHOT_AUTOPROTECT = "snapshot-autoprotect"
|