|
29 | 29 | MdmCommandClientRequest, |
30 | 30 | MdmCommandRequest, |
31 | 31 | MdmCommandStatus, |
| 32 | + RedeployManagementFrameworkResponse, |
32 | 33 | RenewMdmProfileResponse, |
33 | 34 | SendMdmCommand, |
34 | 35 | SendMdmCommandClientData, |
@@ -608,6 +609,28 @@ def renew_mdm_profile_v1(self, udids: List[Union[str, UUID]]) -> RenewMdmProfile |
608 | 609 | except KeyError: |
609 | 610 | return RenewMdmProfileResponse(udidsNotProcessed=[]) |
610 | 611 |
|
| 612 | + def redeploy_management_framework_v1( |
| 613 | + self, computer_id: Union[int, str] |
| 614 | + ) -> RedeployManagementFrameworkResponse: |
| 615 | + """Redeploy the Jamf management framework to a computer. |
| 616 | +
|
| 617 | + This reinstalls the Jamf binary and management framework on the target computer. It is |
| 618 | + useful for client remediation workflows, such as when the management framework becomes |
| 619 | + unresponsive or needs to be reinstalled for re-enrollment scenarios. |
| 620 | +
|
| 621 | + :param computer_id: The ID of the computer to redeploy the management framework to. |
| 622 | + :type computer_id: Union[int, str] |
| 623 | +
|
| 624 | + :return: A response containing the device ID and the UUID of the issued command. |
| 625 | + :rtype: RedeployManagementFrameworkResponse |
| 626 | + """ |
| 627 | + resp = self.api_request( |
| 628 | + method="post", |
| 629 | + resource_path=f"v1/jamf-management-framework/redeploy/{computer_id}", |
| 630 | + ) |
| 631 | + |
| 632 | + return RedeployManagementFrameworkResponse(**resp.json()) |
| 633 | + |
611 | 634 | def send_mdm_command_preview( |
612 | 635 | self, |
613 | 636 | management_ids: List[Union[str, UUID]], |
|
0 commit comments