+ def cancel_op(self, operation_id, cancel_mode, wait=False):
+ """Cancels an LCM operation"""
+ self._client.get_token()
+ self._apiResource = "/ns_lcm_op_occs"
+ self._apiBase = "{}{}{}".format(
+ self._apiName, self._apiVersion, self._apiResource
+ )
+ endpoint = "{}/{}/cancel".format(self._apiBase, operation_id)
+ op_data = {"cancelMode": cancel_mode}
+ try:
+ http_code, resp = self._http.post_cmd(
+ endpoint=endpoint, postfields_dict=op_data
+ )
+ if http_code == 202:
+ if wait:
+ self._wait(operation_id, wait, deleteFlag=True, entity="OPCANCEL")
+ else:
+ print("Cancellation in progress")
+ else:
+ msg = resp or ""
+ raise ClientException(msg)
+ except ClientException as exc:
+ message = "failed to exec operation {}:\nerror:\n{}".format(
+ operation_id, str(exc)
+ )
+ raise ClientException(message)
+