api module¶
This module is part of the nmeta suite running on top of Ryu SDN controller to provide network identity and flow metadata. . It provides methods for RESTful API connectivity.
-
class
api.Api(_nmeta, _config, _wsgi)¶ Bases:
objectThis class is instantiated by nmeta.py and provides methods for RESTful API connectivity.
-
IP_PATTERN= '\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$){4}\\b'¶
-
url_dpae_base= '/nmeta/v2/aux/'¶
-
url_dpae_uuid= '/nmeta/v2/aux/{uri_uuid}'¶
-
url_dpae_uuid_keepalive= '/nmeta/v2/aux/{uri_uuid}/keepalive/'¶
-
url_dpae_uuid_main_policy= '/nmeta/v2/aux/{uri_uuid}/main_policy/'¶
-
url_dpae_uuid_sendconfpkt= '/nmeta/v2/aux/{uri_uuid}/send_conf_packet/'¶
-
url_dpae_uuid_tc_classify= '/nmeta/v2/aux/{uri_uuid}/services/tc/classify/'¶
-
url_dpae_uuid_tc_opt_rules= '/nmeta/v2/aux/{uri_uuid}/services/tc/opt_rules/'¶
-
url_dpae_uuid_tc_state= '/nmeta/v2/aux/{uri_uuid}/services/tc/state/'¶
-
url_idmac= '/nmeta/v2/id/mac/'¶
-
-
class
api.JSON_Body(req_body)¶ Bases:
objectRepresents a JSON-encoded body of an HTTP request. Doesn’t do logging, but does set .error when things don’t go to plan with a friendly message.
-
decode(req_body)¶ Passed an allegedly JSON body and see if it decodes. Set error variable for exceptions
-
validate(key_list)¶ Passed a list of keys and check that they exist in the JSON. If they don’t return 0 and set error to description of first missing key that was found
-
-
exception
api.NotFoundError(msg=None, **kwargs)¶ Bases:
ryu.exception.RyuException-
message= 'Error occurred talking to function <TBD>'¶
-
-
class
api.RESTAPIController(req, link, data, **config)¶ Bases:
ryu.app.wsgi.ControllerBaseThis class is used to control REST API access to the nmeta data and control functions
-
rest_dpae_create(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_delete(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_keepalive(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_main_policy_read(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_read(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_read_uuid(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_send_sniff_conf_pkt(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_tc_classify_advice(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_tc_opt_rules_read(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_dpae_tc_state_update(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
rest_idmac_read(*args, **kwargs)¶ Run a REST command and return appropriate response. Keys/Values returned to this wrapper in a dictionary. Valid Keys are:
‘msg’: the data to return in the message body ‘location’: a new location for the resource ‘status’: HTTP status code to return
-
-
api.rest_command(func)¶ REST API command template
-
api.version_compare(version1, version2)¶ Compare two semantic version numbers and return 1 if they are the same major version number