id_mix=fields.Integer(example=834, description="ID of mix", required=True), name=fields.String(description="Name of mix", example="My mix", required=True), labels=fields.List(label_field), creation_time=fields.Integer(example=1554076800, description="Creation time of mix in unixtime", required=True) ) mix = mix_basic.copy() mix.update(dict( description=fields.String(), )) annotated_units = api.model("AnnotatedUnits", dict( id_annotated_unit=fields.Integer(example=834, description="ID of mix", required=True), ip_mapping=fields.List(fields.Nested(ip_pair), required=True), mac_mapping=fields.List(fields.Nested(mac_pair), required=True), port_mapping=fields.List(fields.Nested(ip_port_map), required=True), timestamp=fields.Float(example=1541346574.1234, required=True), )) mix_create = api.model("MixCreate", dict( name=fields.String(description="Name of mix", example="My mix", required=True), labels=fields.List(label_field), description=fields.String(), annotated_units=fields.List(fields.Nested(annotated_units), required=True), )) mix_update = api.model("MixUpdate", dict( name=fields.String(description="Name of mix", example="My mix"), labels=fields.List(label_field),
from flask_restplus import fields from traces_api.api.restplus import api unit_id = fields.Integer(example=112, description="ID of unit", required=True) ip_original = fields.String(example="1.2.3.4", description="IP address", required=True) ip_replacement = fields.String(example="172.16.0.0", description="IP address", required=True) ip_pair = api.model("IPPair", dict(original=ip_original, replacement=ip_replacement)) ips = fields.Nested( api.model( "IPs", dict( target_nodes=fields.List(ip_replacement, required=True), intermediate_nodes=fields.List(ip_replacement, required=True), source_nodes=fields.List(ip_replacement, required=True), )), description= "Classification of ip addresses, every IP address should belong to one of this categories", required=True) mac = fields.String(example="00:A0:C9:14:C8:29", description="MAC addess", required=True) mac_pair = api.model("MacPair", dict(original=mac, replacement=mac))
from traces_api.api.restplus import api ip_address = fields.String(example='1.1.1.1', description="IP address", required=True) unit_id = fields.Integer(example=112, description="ID of unit", required=True) ip_original = fields.String(example="1.2.3.4", description="IP address", required=True) ip_replacement = fields.String(example="172.16.0.0", description="IP address", required=True) ip_pair = api.model("IPPair", dict(original=ip_original, replacement=ip_replacement)) ips = fields.Nested( api.model( "IPs", dict( target_nodes=fields.List(ip_replacement, required=True), intermediate_nodes=fields.List(ip_replacement, required=True), source_nodes=fields.List(ip_replacement, required=True), )), description= "Classification of ip addresses, every IP address should belong to one of this categories", required=True) mac = fields.String(example="00:A0:C9:14:C8:29", description="MAC addess",
example=1554076800, description="Creation time of annotated unit in unixtime", required=True)) ann_unit = ann_unit_basic.copy() ann_unit.update( dict( ip_details=ips, description=fields.String(), stats=analytical_data, )) ann_unit_update = api.model( "AnnUnitUpdate", dict( name=fields.String(description="Name of annotated unit", example="My unit"), labels=fields.List(label_field), description=fields.String(), )) ann_unit_details_response = api.model("AnnotatedUnitDetailsResponse", ann_unit) ann_unit_find = api.model( "AnnotatedUnitsFind", dict( limit=fields.Integer(description="Limit number of rows", example=25, default=100), page=fields.Integer( description= "Number of page to return, counting from 0 (used in pagination)",
from traces_api.api.restplus import api from traces_api.schemas import unit_id, label_field, ip_pair, mac_pair, ips, analytical_data # Unit step 1 unit_step1_fields = reqparse.RequestParser() unit_step1_fields.add_argument('file', type=werkzeug.datastructures.FileStorage, location='files', required=True, help='PCAP file') unit_step1_response = api.model( "UnitStep1Response", dict( id_unit=unit_id, analytical_data=analytical_data, )) # Unit step 2 unit_step2_fields = api.model( "UnitStep2", dict( id_unit=unit_id, name=fields.String(description="Name of unit", example="My unit", required=True), description=fields.String(), labels=fields.List(label_field), ))