class Schema(model.Schema): object_id = model.PrimaryKey('id') name = model.String(required=True) security_groups = model.Nested(SecurityGroup, many=True, missing=list) status = model.String(required=True) tenant = model.Dependency(keystone.Tenant) image = model.Dependency(glance.Image, allow_none=True) image_membership = model.Dependency(glance.ImageMember, allow_none=True) user_id = model.String(required=True) # TODO: user reference key_name = model.String(required=True, allow_none=True) flavor = model.Dependency(Flavor) config_drive = model.String(required=True) availability_zone = model.String(required=True, allow_none=True) host = model.String(required=True) hypervisor_hostname = model.String(required=True) instance_name = model.String(required=True) metadata = model.Dict(missing=dict) ephemeral_disks = model.Nested(EphemeralDisk, many=True, missing=list) attached_volumes = model.Dependency(cinder.Volume, many=True, missing=list) # TODO: ports FIELD_MAPPING = { 'host': HOST, 'hypervisor_hostname': 'OS-EXT-SRV-ATTR:hypervisor_hostname', 'instance_name': 'OS-EXT-SRV-ATTR:instance_name', 'availability_zone': 'OS-EXT-AZ:availability_zone', 'attached_volumes': VOLUMES_ATTACHED, 'tenant': 'tenant_id', } FIELD_VALUE_TRANSFORMERS = {'image': lambda x: x or None}
class Schema(model.Schema): foo = model.String(required=True) ref = model.Dependency(ExampleReferenced, required=True) refs = model.Dependency(ExampleReferenced, required=True, many=True) ref_none = model.Dependency(ExampleReferenced, missing=None, allow_none=True) refs_none = model.Dependency(ExampleReferenced, missing=None, many=True, allow_none=True)
class Schema(model.Schema): object_id = model.PrimaryKey() bar = model.String(required=True) baz = model.Nested(ExampleNested) ref = model.Dependency(ExampleReferenced, required=True) refs = model.Dependency(ExampleReferenced, required=True, many=True) ref_none = model.Dependency(ExampleReferenced, missing=None, allow_none=True) refs_none = model.Dependency(ExampleReferenced, missing=None, many=True, allow_none=True)
class Schema(model.Schema): object_id = model.PrimaryKey('id') name = model.String(required=True) tenant = model.Dependency(keystone.Tenant, required=True, load_from='owner', dump_to='owner') checksum = model.String(required=True, allow_none=True) size = model.Integer(required=True) virtual_size = model.Integer(required=True, allow_none=True, missing=None) is_public = model.Boolean(required=True) protected = model.Boolean(required=True) container_format = model.String(required=True) disk_format = model.String(required=True) min_disk = model.Integer(required=True) min_ram = model.Integer(required=True) properties = model.Dict() members = model.Reference(ImageMember, many=True, missing=list)
class Schema(model.Schema): object_id = model.PrimaryKey('id') name = model.String(required=True, allow_none=True) description = model.String(required=True, allow_none=True) availability_zone = model.String(required=True) encrypted = model.Boolean(missing=False) host = model.String(required=True) size = model.Integer(required=True) tenant = model.Dependency(keystone.Tenant, required=True) metadata = model.Dict(missing=dict) volume_type = model.String(required=True) attachments = model.Nested(Attachment, many=True, missing=list) FIELD_MAPPING = { 'name': 'display_name', 'description': 'display_description', 'host': 'os-vol-host-attr:host', 'tenant': 'os-vol-tenant-attr:tenant_id', }
class Schema(model.Schema): object_id = model.PrimaryKey() image = model.Dependency('cloudferry.lib.os.discovery.glance.Image') member = model.Dependency('cloudferry.lib.os.discovery.keystone.' 'Tenant') can_share = model.Boolean(missing=False)
class Schema(model.Schema): object_id = model.PrimaryKey() ref = model.Dependency('tests.lib.os.' 'discovery.test_model.Example')