diff --git a/gso/services/provisioning_proxy.py b/gso/services/provisioning_proxy.py index f236d30f427b58819f020b1820ad822a8fd81407..9ec5f50eee03d94f2b18bc31512c1ac8d579dc7a 100644 --- a/gso/services/provisioning_proxy.py +++ b/gso/services/provisioning_proxy.py @@ -16,7 +16,7 @@ from gso.products.product_types.device import DeviceProvisioning logger = logging.getLogger(__name__) -def _send_request(parameters: dict, process_id: UUIDstr): +def _send_request(endpoint: str, parameters: dict, process_id: UUIDstr): oss = settings.load_oss_params() pp_params = oss.PROVISIONING_PROXY assert pp_params @@ -28,23 +28,30 @@ def _send_request(parameters: dict, process_id: UUIDstr): parameters.update({'callback': callback_url}) post_request = requests.post( - f'{pp_params.scheme}://{pp_params.api_base}/api/device', + f'{pp_params.scheme}://{pp_params.api_base}/api/{endpoint}', json=parameters) if post_request.status_code != 200: raise AssertionError(post_request.text) -def provision_service( +def _provision_service( + endpoint: str, subscription: SubscriptionModel, process_id: UUIDstr, - dry_run: bool = True): + dry_run: bool): parameters = { 'dry_run': dry_run, 'subscription': json.loads(json_dumps(subscription)) } - _send_request(parameters, process_id) + _send_request(endpoint, parameters, process_id) + + +def provision_device(subscription: SubscriptionModel, + process_id: UUIDstr, + dry_run: bool = True): + _provision_service('device', subscription, process_id, dry_run) @inputstep('Await provisioning proxy results', assignee=Assignee('SYSTEM'))