-def connect_xpdr_to_rdm_request(payload: dict):
- url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links"
- if RESTCONF_VERSION == 'draft-bierman02':
- data = prepend_dict_keys({'input': {'links-input': payload}}, 'networkutils:')
- else:
- data = {'input': {'links-input': payload}}
- return post_request(url, data)
-
-
-def connect_rdm_to_xpdr_request(payload: dict):
- url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links"
- if RESTCONF_VERSION == 'draft-bierman02':
- data = prepend_dict_keys({'input': {'links-input': payload}}, 'networkutils:')
- else:
- data = {'input': {'links-input': payload}}
- return post_request(url, data)
-
-
-def device_renderer_service_path_request(payload: dict):
- url = "{}/operations/transportpce-device-renderer:service-path"
- if RESTCONF_VERSION == 'draft-bierman02':
- data = prepend_dict_keys({'input': payload}, 'transportpce-device-renderer:')
- else:
- data = {'input': payload}
- response = post_request(url, data)
- res = response.json()
- return_key = {'rfc8040': 'transportpce-device-renderer:output',
- 'draft-bierman02': 'output'}
- return_output = res[return_key[RESTCONF_VERSION]]
- return {'status_code': response.status_code,
- 'output': return_output}
-
-
-def device_renderer_otn_service_path_request(payload: dict):
- url = "{}/operations/transportpce-device-renderer:otn-service-path"
- if RESTCONF_VERSION == 'draft-bierman02':
- data = prepend_dict_keys({'input': payload}, 'transportpce-device-renderer:')
- else:
- data = {'input': payload}
- response = post_request(url, data)
- res = response.json()
- return_key = {'rfc8040': 'transportpce-device-renderer:output',
- 'draft-bierman02': 'output'}
- return_output = res[return_key[RESTCONF_VERSION]]
- return {'status_code': response.status_code,
- 'output': return_output}
-
-
-def renderer_service_implementation_request(payload: dict):
- url = "{}/operations/transportpce-renderer:service-implementation-request"
- if RESTCONF_VERSION == 'draft-bierman02':
- data = prepend_dict_keys({'input': payload}, 'transportpce-renderer:')
+def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict):
+ # pylint: disable=consider-using-f-string
+ url = "{}/operations/{}:{}".format('{}', api_module, rpc)
+ if payload is None:
+ data = None
+ elif RESTCONF_VERSION == 'draft-bierman02':
+ data = prepend_dict_keys({'input': payload}, api_module + ':')