Exemple #1
0
class LogicalSwitch(mf.ModelBase, mixins.Name, mixins.Version, mixins.Topic,
                    mixins.UniqueKey, mixins.BasicEvents):

    table_name = "lswitch"

    is_external = fields.BoolField()
    mtu = fields.IntField()
    subnets = fields.ListField(Subnet)
    segmentation_id = fields.IntField()
    # TODO(oanson) Validate network_type
    network_type = fields.StringField()
    # TODO(oanson) Validate physical_network
    physical_network = fields.StringField()
    qos_policy = df_fields.ReferenceField(qos.QosPolicy)

    def find_subnet(self, subnet_id):
        for subnet in self.subnets:
            if subnet.id == subnet_id:
                return subnet

    def add_subnet(self, subnet):
        self.subnets.append(subnet)

    def remove_subnet(self, subnet_id):
        for idx, subnet in enumerate(self.subnets):
            if subnet.id == subnet_id:
                return self.subnets.pop(idx)
Exemple #2
0
class Occurrence(models.Base):
    affected = fields.IntField(required=False,
                               nullable=True,
                               help_text="Affected number")
    donors = fields.IntField(required=False,
                             nullable=True,
                             help_text="Donors number")
    project = fields.StringField(required=False,
                                 nullable=True,
                                 help_text="Project")
Exemple #3
0
class ProviderOpenMetrics(models.Base):
  count = fields.IntField(required=True)
  limit = fields.IntField(required=True)
  
  @staticmethod
  def build(json):
    return ProviderOpenMetrics(
      count = json["count"],
      limit = json["limit"]
    )
Exemple #4
0
class BGPSpeaker(mf.ModelBase, mixins.Topic, mixins.Name):
    table_name = "bgp_speaker"

    local_as = fields.IntField(required=True)
    peers = df_fields.ReferenceListField(BGPPeer)
    host_routes = fields.ListField(host_route.HostRoute)
    prefix_routes = fields.ListField(host_route.HostRoute)
    ip_version = fields.IntField(required=True)

    def remove_peer(self, peer_id):
        self.peers[:] = [peer for peer in self.peers if peer.id != peer_id]
Exemple #5
0
class SecurityGroupRule(mf.ModelBase, mixins.BasicEvents, mixins.Topic,
                        mixins.Version):

    direction = df_fields.EnumField(RULE_DIRECTION, required=True)
    ethertype = df_fields.EnumField(RULE_ETHERTYPE, required=True)
    port_range_max = fields.IntField()
    port_range_min = fields.IntField()
    protocol = df_fields.IpProto()
    remote_group_id = fields.StringField()
    remote_ip_prefix = df_fields.IpNetworkField()
    security_group_id = fields.StringField()
Exemple #6
0
class TP53SomaticDetails(models.Base):
    age = fields.IntField(help_text="Age", required=False, nullable=True)
    country = fields.StringField(help_text="Country", required=False, nullable=True)
    effect = fields.StringField(help_text="Effect", required=False, nullable=True)
    morphology = fields.StringField(help_text="Morphology", required=False, nullable=True)
    mut_rate = fields.IntField(help_text="Mutation rate", required=False, nullable=True)
    pub_med_references = fields.ListField(items_types=(int,), help_text="PubMed References", required=False,
                                          nullable=True)
    sample_source = fields.StringField(help_text="Sample source", required=False, nullable=True)
    stage = fields.StringField(help_text="Stage", required=False, nullable=True)
    structural_motif = fields.StringField(help_text="Structural Motif", required=False, nullable=True)
    topography = fields.StringField(help_text="Topography", required=False, nullable=True)
Exemple #7
0
class TP53GermlineDetails(models.Base):
    age_at_diagnosis = fields.IntField(help_text="Age at diagnosis", required=False, nullable=True)
    country = fields.StringField(help_text="Country", required=False, nullable=True)
    effect = fields.StringField(help_text="Effect", required=False, nullable=True)
    familycase = fields.StringField(help_text="Family case", required=False, nullable=True)
    familycase_group = fields.StringField(help_text="Family case group", required=False, nullable=True)
    family_code = fields.StringField(help_text="Family code", required=False, nullable=True)
    generation = fields.StringField(help_text="Generation", required=False, nullable=True)
    morphology = fields.StringField(help_text="Morphology", required=False, nullable=True)
    sex = fields.StringField(help_text="Sex", required=False, nullable=True)
    topography = fields.StringField(help_text="Topography", required=False, nullable=True)
    unaffected = fields.IntField(help_text="Unaffected", required=False, nullable=True)
Exemple #8
0
class ModelMetrics(models.Base):
  daily = fields.IntField(required=True)
  weekly = fields.IntField(required=True)
  monthly = fields.IntField(required=True)
  
  @staticmethod
  def build(json):
    return ModelMetrics(
      daily = json["daily"],
      weekly = json["weekly"],
      monthly = json["monthly"]
    )
Exemple #9
0
class LogicalSwitch(mf.ModelBase, mixins.Name, mixins.Version, mixins.Topic,
                    mixins.UniqueKey, mixins.BasicEvents):

    table_name = "lswitch"

    is_external = fields.BoolField()
    mtu = fields.IntField()
    segmentation_id = fields.IntField()
    # TODO(oanson) Validate network_type
    network_type = fields.StringField()
    # TODO(oanson) Validate physical_network
    physical_network = fields.StringField()
    qos_policy = df_fields.ReferenceField(qos.QosPolicy)
Exemple #10
0
class Author(Gettable, models.Base):
    aliases = fields.ListField([str])
    authorId = fields.StringField()
    citationVelocity = fields.IntField()
    influentialCitationCount = fields.IntField()
    name = fields.StringField()
    papers = LazyListField(['Paper'])
    url = fields.StringField()

    def can_get(self):
        return self.authorId is not None

    def endpoint(self):
        return '/author/{authorId}'.format(authorId=self.authorId)
Exemple #11
0
class SwitchPort(mf.ModelBase, mixins.BasicEvents, mixins.Name):
    #定义表结构
    table_name = 'switch_port'

    #port编号
    port_num = fields.IntField()
    #admin状态
    admin_state = df_fields.EnumField(('up', 'down'))
    lport = df_fields.ReferenceField(l2.LogicalPort)
    #接口类型
    type = df_fields.EnumField((
        constants.SWITCH_BRIDGE_INTERFACE,
        constants.SWITCH_PATCH_INTERFACE,
        constants.SWITCH_COMPUTE_INTERFACE,
        constants.SWITCH_TUNNEL_INTERFACE,
        constants.SWITCH_UNKNOWN_INTERFACE,
    ), )
    #对端信息
    peer = fields.StringField()
    #接口mac地址
    mac_in_use = df_fields.MacAddressField()
    #
    attached_mac = df_fields.MacAddressField()
    #隧道类型
    tunnel_type = fields.StringField()
 class Person(models.Base):
     name = fields.StringField(default="John Doe")
     age = fields.IntField(default=18)
     pet = fields.EmbeddedField(Pet, default=Pet(kind="Cat"))
     nicknames = fields.ListField(
         items_types=(str,), default=["yo", "dawg"])
     profession = fields.StringField(default=None)
Exemple #13
0
class BGPPeer(mf.ModelBase, mixins.Topic, mixins.Name):
    table_name = "bgp_peer"

    peer_ip = df_fields.IpAddressField(required=True)
    remote_as = fields.IntField(required=True)
    auth_type = fields.StringField()
    password = fields.StringField()
Exemple #14
0
class Somatic(models.Base):
    version = fields.StringField(help_text="Version")
    id = fields.StringField(help_text="ID", required=False, nullable=True)
    occurrence = fields.ListField(required=False,
                                  nullable=True,
                                  items_types=(Occurrence, ),
                                  help_text="Occurrence")
    affected_donors = fields.IntField(help_text="Affected Donors",
                                      required=False,
                                      nullable=True)
    project_count = fields.IntField(help_text="Project Count",
                                    required=False,
                                    nullable=True)
    main_data = fields.StringField(help_text="Main data point",
                                   required=False,
                                   nullable=True)
Exemple #15
0
class Provider(models.Base):
  id = fields.IntField()
  endpoint = fields.StringField(required=True)
  type = fields.StringField(required=True)
  available = fields.BoolField(required=True)
  available_at = fields.DateTimeField(required=True)
  available_expires_at = fields.DateTimeField(required=True)
  created_at = fields.DateTimeField(required=True)
  tasks = fields.EmbeddedField(ProviderMetrics, required=True)
  open_tasks = fields.EmbeddedField(ProviderOpenMetrics, required=True)
  sent_tasks = fields.EmbeddedField(ProviderMetrics, required=True)
  stats = fields.EmbeddedField(ProviderStats, required=True)
  
  @staticmethod
  def build(json):
    return Provider(
      id = json["id"],
      endpoint = json["endpoint"],
      type = json["type"],
      available = json["available"],
      available_at = json["available_at"],
      available_expires_at = json["available_expires_at"],
      created_at = json["created_at"],
      tasks = ProviderMetrics.build(json["tasks"]),
      open_tasks = ProviderOpenMetrics.build(json["open_tasks"]),
      sent_tasks = ProviderMetrics.build(json["sent_tasks"]),
      stats = ProviderStats.build(json["stats"])
    )
Exemple #16
0
    class Person(models.Base):

        name = fields.StringField(required=True)
        surname = fields.StringField(required=True)
        age = fields.IntField()
        car = fields.EmbeddedField([Viper, Lamborghini])
        computer = fields.ListField([PC, Laptop, Tablet])
Exemple #17
0
    class Person(models.Base):

        name = fields.StringField(required=True)
        surname = fields.StringField(required=True)
        age = fields.IntField()
        cash = fields.FloatField()
        meta = fields.GenericField()
Exemple #18
0
    class Person(models.Base):

        name = fields.StringField(
            validators=validators.Length(maximum_value=20)
        )
        surname = fields.StringField()
        age = fields.IntField()
Exemple #19
0
    class Person(models.Base):

        name = fields.StringField(required=True)
        surname = fields.StringField(required=True)
        age = fields.IntField()
        kids = fields.ListField(Kid)
        car = fields.EmbeddedField(Car)
Exemple #20
0
    class Person(models.Base):

        name = fields.StringField(required=True,
                                  validators=[validator1, validator2])
        surname = fields.StringField(required=True)
        age = fields.IntField(validators=validator3)
        cash = fields.FloatField()
    class Person(models.Base):

        name = fields.StringField()
        surname = fields.StringField()
        age = fields.IntField()
        cash = fields.FloatField()
        extra_data = fields.DictField()
class RemoteLabeledRoute(mf.ModelBase, mixins.BasicEvents):
    table_name = 'rlroutes'

    destination = df_fields.IpNetworkField(required=True)
    nexthop = df_fields.IpAddressField(required=True)
    label = fields.IntField(required=True)
    helper_port = fields.StringField(required=True)
Exemple #23
0
    class Person(models.Base):

        name = fields.StringField(required=True)
        surname = fields.StringField(required=True)
        age = fields.IntField()
        cash = fields.FloatField()
        extra = fields.DictField()
Exemple #24
0
    class Person(models.Base):

        name = fields.StringField(required=True)
        surname = fields.StringField(required=True)
        age = fields.IntField()
        kids = fields.ListField(Kid,
                                default=[Kid(name="Name", surname="Surname")])
        car = fields.EmbeddedField(Car)
class Link(models.Base):
    ideaIdFrom = fields.IntField(required=True)
    ideaIdTo = fields.IntField(required=True)
    attr = fields.EmbeddedField(Attributes)
    defaults = {'attr': {'style': {"color": "#FF0000", "lineStyle": "dashed"}}}

    def __init__(self, **kwargs):
        updatedKwargs = dict(self.defaults)
        updatedKwargs.update(kwargs)
        super(Link, self).__init__(**updatedKwargs)

    def setColor(self, color):
        self.populate(**{'attr': {'style': {'color': color}}})

    def setLineStyle(self, style):
        #style in dashed ,
        self.populate(**{'attr': {'style': {'lineStyle': style}}})
class LocalLabeledRoute(mf.ModelBase, mixins.BasicEvents):
    table_name = 'llroutes'

    dest_ip = df_fields.IpNetworkField(required=True)
    # dest_mac = df_fields.MacAddressField(required=True)
    port = fields.StringField(required=True)
    # host = df_fields.IpAddressField(required=True)
    label = fields.IntField(required=True)
Exemple #27
0
class ChildPortSegmentation(mf.ModelBase, mixins.Topic, mixins.BasicEvents):
    table_name = 'child_port_segmentation'

    parent = df_fields.ReferenceField(l2.LogicalPort, required=True)
    port = df_fields.ReferenceField(l2.LogicalPort, required=True)
    segmentation_type = df_fields.EnumField(SUPPORTED_SEGMENTATION_TYPES,
                                            required=True)
    segmentation_id = fields.IntField(required=True)
    class Kid(models.Base):
        name = fields.StringField(required=True)
        surname = fields.StringField(required=True)
        age = fields.IntField()
        toys = fields.ListField(Toy)

        def __init__(self, some_value):
            pass
Exemple #29
0
    class Person2(models.Base):

        name = fields.StringField()
        surname = fields.StringField()
        age = fields.IntField()

        def __str__(self):
            return self.name
Exemple #30
0
class CircularMapModel(models.Base):
    """
    Test model used in the following test,
    must be defined outside function for lazy loading
    """
    mapping = fields.MapField(fields.IntField(),
                              fields.EmbeddedField("CircularMapModel"),
                              default=None)