class TestType(BASE): props = defs.Dict(properties={ "foo": defs.String(), "bar": defs.Boolean() }) fixed = defs.Dict( properties={ "name": defs.String(min_length=2), "age": defs.Integer(min_value=0, max_value=99) })
class TestType(BASE): arr = defs.Array(mutable=False) dict = defs.Dict(mutable=False) activated = defs.Boolean() def __is_mutable__(self): return not self.activated
class SerTestType(defs.ArtifactType): some_string = defs.String() some_text = defs.Text() some_version = defs.SemVerString() some_int = defs.Integer() some_numeric = defs.Numeric() some_bool = defs.Boolean() some_array = defs.Array() another_array = defs.Array( item_type=[defs.Integer( ), defs.Numeric(), defs.Boolean()]) some_dict = defs.Dict() another_dict = defs.Dict(properties={ 'foo': defs.Integer(), 'bar': defs.Boolean() }) some_ref = defs.ArtifactReference() some_ref_list = defs.ArtifactReferenceList() some_blob = defs.BinaryObject() some_blob_list = defs.BinaryObjectList()
class MuranoPackage(definitions.ArtifactType): __endpoint__ = 'murano' type = definitions.String(allowed_values=['Application', 'Library'], required=True, mutable=False) author = definitions.String(required=False, mutable=False) display_name = definitions.String(required=True, mutable=True) enabled = definitions.Boolean(default=True) categories = definitions.Array(default=[], mutable=True) class_definitions = definitions.Array(unique=True, default=[], mutable=False) inherits = definitions.Dict(default={}, properties=definitions.Array(), mutable=False) keywords = definitions.Array(default=[], mutable=True) logo = definitions.BinaryObject() archive = definitions.BinaryObject() ui_definition = definitions.BinaryObject()
class TestArtifact(definitions.ArtifactType): prop1 = definitions.Dict() prop2 = definitions.Integer(min_value=10)
class TestType(BASE): arr = defs.Array(readonly=True) dict = defs.Dict(readonly=True)
class TestType(BASE): simple_props = defs.Dict() constrained_props = defs.Dict(properties=defs.Integer( min_value=1, allowed_values=[1, 2]), min_properties=2, max_properties=3)