Skip to content
Snippets Groups Projects
Commit 1f4cd3d1 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Common - Tools - Object Factory:

- Add attributes total/current capacity to link creation methos
parent 25fc7040
No related branches found
No related tags found
2 merge requests!235Release TeraFlowSDN 3.0,!160Resolve "(CTTC) Forecaster component"
......@@ -23,13 +23,28 @@ def get_link_uuid(a_endpoint_id : Dict, z_endpoint_id : Dict) -> str:
def json_link_id(link_uuid : str) -> Dict:
return {'link_uuid': {'uuid': link_uuid}}
def json_link(link_uuid : str, endpoint_ids : List[Dict], name : Optional[str] = None) -> Dict:
def json_link(
link_uuid : str, endpoint_ids : List[Dict], name : Optional[str] = None,
total_capacity_gbps : Optional[float] = None, current_capacity_gbps : Optional[float] = None
) -> Dict:
result = {'link_id': json_link_id(link_uuid), 'link_endpoint_ids': copy.deepcopy(endpoint_ids)}
if name is not None: result['name'] = name
if total_capacity_gbps is not None:
attributes : Dict = result.setdefault('attributes', dict())
attributes.setdefault('total_capacity_gbps', total_capacity_gbps)
if current_capacity_gbps is not None:
attributes : Dict = result.setdefault('attributes', dict())
attributes.setdefault('current_capacity_gbps', current_capacity_gbps)
return result
def compose_link(endpoint_a, endpoint_z) -> Tuple[Dict, Dict]:
def compose_link(
endpoint_a : Dict, endpoint_z : Dict, name : Optional[str] = None,
total_capacity_gbps : Optional[float] = None, current_capacity_gbps : Optional[float] = None
) -> Tuple[Dict, Dict]:
link_uuid = get_link_uuid(endpoint_a['endpoint_id'], endpoint_z['endpoint_id'])
link_id = json_link_id(link_uuid)
link = json_link(link_uuid, [endpoint_a['endpoint_id'], endpoint_z['endpoint_id']])
link = json_link(
link_uuid, [endpoint_a['endpoint_id'], endpoint_z['endpoint_id']], name=name,
total_capacity_gbps=total_capacity_gbps, current_capacity_gbps=current_capacity_gbps
)
return link_id, link
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment