sync: auto-sync from HOWARD-HOME at 2026-06-21 14:37:28

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 14:37:28
This commit is contained in:
2026-06-21 14:38:01 -07:00
parent 603773cf25
commit bfc6631c36
4 changed files with 55 additions and 14 deletions

View File

@@ -729,10 +729,10 @@ def cmd_delete_endpoint(client, args):
def cmd_delete_package(client, args):
if not _gated(f"delete package '{args.package}'", args.confirm):
if not _gated(f"delete package {args.id}", args.confirm):
return 3
result = client.delete_package(args.package, args.company)
_emit({"deletedPackage": args.package, "result": result}, args.json, _print_kv)
result = client.delete_package(args.id)
_emit({"deletedPackage": args.id, "result": result}, args.json, _print_kv)
return 0
@@ -978,10 +978,9 @@ def build_parser() -> argparse.ArgumentParser:
sp.add_argument("endpoint_id")
sp.add_argument("--confirm", action="store_true")
sp = sub.add_parser("delete-package", help="Delete a package (gated).",
sp = sub.add_parser("delete-package", help="Delete a package by id (gated).",
parents=[common])
sp.add_argument("--package", required=True)
sp.add_argument("--company")
sp.add_argument("--id", required=True, help="packageId (from `packages`).")
sp.add_argument("--confirm", action="store_true")
sp = sub.add_parser("delete-group", help="Delete a custom group (gated).",

View File

@@ -488,13 +488,13 @@ class GravityZoneClient:
params["companyId"] = company_id
return self._jsonrpc_request("packages", "getInstallationLinks", params)
def delete_package(
self, package_name: str, company_id: Optional[str] = None
) -> Any:
params: dict = {"packageName": package_name}
if company_id:
params["companyId"] = company_id
return self._jsonrpc_request("packages", "deletePackage", params)
def delete_package(self, package_id: str) -> Any:
"""Delete an installation package (packages.deletePackage).
VERIFIED LIVE 2026-06-21: the param is `packageId` (NOT packageName/
companyId — those error "not expected"). STATE-CHANGING — gate at call site."""
return self._jsonrpc_request(
"packages", "deletePackage", {"packageId": package_id}
)
def create_scan_task(
self,

View File

@@ -98,7 +98,7 @@ check("unisolate no confirm -> rc3", ["unisolate", "--endpoints", "x"], want_rc=
check("blocklist-add no confirm -> rc3", ["blocklist-add", "--company", ACG, "--hashes", "abc"], want_rc=3)
check("blocklist-remove no confirm -> rc3", ["blocklist-remove", "--id", "x"], want_rc=3)
check("delete-endpoint no confirm -> rc3", ["delete-endpoint", "x"], want_rc=3)
check("delete-package no confirm -> rc3", ["delete-package", "--package", "x"], want_rc=3)
check("delete-package no confirm -> rc3", ["delete-package", "--id", "x"], want_rc=3)
check("delete-group no confirm -> rc3", ["delete-group", "--group", "x"], want_rc=3)
check("assign-policy no confirm -> rc3", ["assign-policy", "--policy", "p", "--targets", "x"], want_rc=3, out_has="Would")
check("push-set no confirm -> rc3", ["push-set", "--status", "1", "--url", "https://x/y"], want_rc=3)