oslo_versionedobjects.fields.BaseEnumField(**kwargs)¶Base class for all enum field types
This class should not be directly instantiated. Instead subclass it and set AUTO_TYPE to be a SomeEnum() where SomeEnum is a subclass of Enum.
valid_values¶Return the list of valid values for the field.
oslo_versionedobjects.fields.CoercedDict(*args, **kwargs)¶Dict which coerces its values
Dict implementation which overrides all element-adding methods and coercing the element(s) being added to the required element type
oslo_versionedobjects.fields.CoercedList(*args, **kwargs)¶List which coerces its elements
List implementation which overrides all element-adding methods and coercing the element(s) being added to the required element type
oslo_versionedobjects.fields.CoercedSet(*args, **kwargs)¶Set which coerces its values
Dict implementation which overrides all element-adding methods and coercing the element(s) being added to the required element type
oslo_versionedobjects.fields.DictProxyField(dict_field_name, key_type=<type 'int'>)¶Descriptor allowing us to assign pinning data as a dict of key_types
This allows us to have an object field that will be a dict of key_type keys, allowing that will convert back to string-keyed dict.
This will take care of the conversion while the dict field will make sure that we store the raw json-serializable data on the object.
key_type should return a type that unambiguously responds to six.text_type so that calling key_type on it yields the same thing.
oslo_versionedobjects.fields.EnumField(valid_values, **kwargs)¶Anonymous enum field type
This class allows for anonymous enum types to be declared, simply by passing in a list of valid values to its constructor. It is generally preferable though, to create an explicit named enum type by sub-classing the BaseEnumField type directly.
oslo_versionedobjects.fields.SensitiveString¶A string field type that may contain sensitive (password) information.
Passwords in the string value are masked when stringified.
oslo_versionedobjects.fields.SensitiveStringField(**kwargs)¶Field type that masks passwords when the field is stringified.
oslo_versionedobjects.fields.StateMachine(valid_values, **kwargs)¶A mixin that can be applied to an EnumField to enforce a state machine
e.g: Setting the code below on a field will ensure an object cannot transition from ERROR to ACTIVE
| Example: | class FakeStateMachineField(fields.EnumField, fields.StateMachine):
    ACTIVE = 'ACTIVE'
    PENDING = 'PENDING'
    ERROR = 'ERROR'
    DELETED = 'DELETED'
    ALLOWED_TRANSITIONS = {
        ACTIVE: {
            PENDING,
            ERROR,
            DELETED,
        },
        PENDING: {
            ACTIVE,
            ERROR
        },
        ERROR: {
            PENDING,
        },
        DELETED: {}  # This is a terminal state
    }
    _TYPES = (ACTIVE, PENDING, ERROR, DELETED)
    def __init__(self, **kwargs):
        super(FakeStateMachineField, self).__init__(
        self._TYPES, **kwargs)
 | 
|---|
oslo_versionedobjects.fields.UUIDField(**kwargs)¶UUID Field Type
Warning
This class does not actually validate UUIDs. This will happen in a future major version of oslo.versionedobjects
To validate that you have valid UUIDs you need to do the following in your own objects/fields.py
| Example: | 
 and then in your objects use
 | 
|---|
This will become default behaviour in the future.
 
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.