summaryrefslogtreecommitdiff
path: root/nova/objects/fields.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/objects/fields.py')
-rw-r--r--nova/objects/fields.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/nova/objects/fields.py b/nova/objects/fields.py
index d8cb10f700..cae1ea4a4d 100644
--- a/nova/objects/fields.py
+++ b/nova/objects/fields.py
@@ -260,6 +260,14 @@ class BlockDeviceType(BaseNovaEnum):
ALL = (CDROM, DISK, FLOPPY, FS, LUN)
+class BlockDeviceEncryptionFormatType(BaseNovaEnum):
+ PLAIN = 'plain'
+ LUKS = 'luks'
+ LUKSv2 = 'luksv2'
+
+ ALL = (PLAIN, LUKS, LUKSv2)
+
+
class ConfigDrivePolicy(BaseNovaEnum):
OPTIONAL = "optional"
MANDATORY = "mandatory"
@@ -608,6 +616,16 @@ class VIFModel(BaseNovaEnum):
return super(VIFModel, self).coerce(obj, attr, value)
+class VIOMMUModel(BaseNovaEnum):
+
+ INTEL = 'intel'
+ SMMUV3 = 'smmuv3'
+ VIRTIO = 'virtio'
+ AUTO = 'auto'
+
+ ALL = (INTEL, SMMUV3, VIRTIO, AUTO)
+
+
class VMMode(BaseNovaEnum):
"""Represents possible vm modes for instances.
@@ -1197,6 +1215,10 @@ class BlockDeviceTypeField(BaseEnumField):
AUTO_TYPE = BlockDeviceType()
+class BlockDeviceEncryptionFormatTypeField(BaseEnumField):
+ AUTO_TYPE = BlockDeviceEncryptionFormatType()
+
+
class ConfigDrivePolicyField(BaseEnumField):
AUTO_TYPE = ConfigDrivePolicy()
@@ -1289,6 +1311,10 @@ class VIFModelField(BaseEnumField):
AUTO_TYPE = VIFModel()
+class VIOMMUModelField(BaseEnumField):
+ AUTO_TYPE = VIOMMUModel()
+
+
class VMModeField(BaseEnumField):
AUTO_TYPE = VMMode()
@@ -1353,6 +1379,14 @@ class InstancePowerStateField(BaseEnumField):
AUTO_TYPE = InstancePowerState()
+class NetworkModelField(AutoTypedField):
+ AUTO_TYPE = NetworkModel()
+
+
+class NetworkVIFModelField(AutoTypedField):
+ AUTO_TYPE = NetworkVIFModel()
+
+
class ListOfListsOfStringsField(AutoTypedField):
AUTO_TYPE = List(List(fields.String()))