class WrongType(BASE): prop = declarative.PropertyDefinition( allowed_values=['foo', 'bar'], default='baz')
class TestType(BASE): simple_prop = declarative.PropertyDefinition() immutable_internal = declarative.PropertyDefinition(mutable=False, internal=True) prop_with_allowed = declarative.PropertyDefinition( allowed_values=["Foo", True, 42])
class DerivedType(TestType): prop_with_allowed = declarative.PropertyDefinition( allowed_values=["Foo", True, 42], required=True, default=42)
class TestType(BASE): defaulted = declarative.PropertyDefinition(default=42) read_only = declarative.PropertyDefinition(readonly=True) required_attr = declarative.PropertyDefinition(required=True)