mirror of
https://github.com/hansjone/netx.git
synced 2026-10-10 13:50:44 +08:00
Add UME-managed NE sync and batch account tools.
Sync UME inventory into managed NE with source-aware dedupe and cleanup, add one-click account updates for selected or tagged NEs, and expose the new managed NE actions in the web UI while keeping bulk bastion flows compatible with optional target passwords. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
775989cad4
commit
572b0cfd9d
11 changed files with 480 additions and 19 deletions
|
|
@ -9,18 +9,28 @@ from .device_types import SUPPORTED_DEVICE_TYPES, SUPPORTED_VENDORS
|
|||
from .ne_connect import schedule_connect_tests
|
||||
from .ne_crypto import credentials_configured
|
||||
from .ne_exec import execute_managed_ne_commands
|
||||
from .ne_schemas import BatchHopApplyRequest, ConnectTestRequest, ManagedNeCreate, ManagedNeExecRequest, ManagedNeUpdate
|
||||
from .ne_schemas import (
|
||||
BatchAccountApplyRequest,
|
||||
BatchHopApplyRequest,
|
||||
ConnectTestRequest,
|
||||
ManagedNeCreate,
|
||||
ManagedNeExecRequest,
|
||||
ManagedNeUpdate,
|
||||
)
|
||||
from .ne_service import (
|
||||
batch_apply_account,
|
||||
batch_apply_hop_proxy,
|
||||
build_managed_ne_import_template,
|
||||
create_managed_ne,
|
||||
batch_delete_managed_ne,
|
||||
delete_ume_synced_managed_ne,
|
||||
delete_managed_ne,
|
||||
get_ids_by_tag,
|
||||
get_managed_ne,
|
||||
get_managed_ne_stats,
|
||||
import_managed_ne,
|
||||
list_managed_ne,
|
||||
sync_ume_inventory_to_managed_ne,
|
||||
update_managed_ne,
|
||||
)
|
||||
from .models import ManagedNE
|
||||
|
|
@ -111,11 +121,26 @@ def api_batch_apply_hop(body: BatchHopApplyRequest, db: Session = Depends(get_db
|
|||
return batch_apply_hop_proxy(db, body.ids, body.hop)
|
||||
|
||||
|
||||
@router.post("/batch-account")
|
||||
def api_batch_apply_account(body: BatchAccountApplyRequest, db: Session = Depends(get_db)):
|
||||
return batch_apply_account(db, body.ids, body.account)
|
||||
|
||||
|
||||
@router.post("/batch-delete")
|
||||
def api_batch_delete_managed_ne(body: ConnectTestRequest, db: Session = Depends(get_db)):
|
||||
return batch_delete_managed_ne(db, body.ids)
|
||||
|
||||
|
||||
@router.post("/ume-sync")
|
||||
def api_sync_ume_inventory_to_managed_ne(db: Session = Depends(get_db)):
|
||||
return sync_ume_inventory_to_managed_ne(db).model_dump()
|
||||
|
||||
|
||||
@router.delete("/ume-sync")
|
||||
def api_delete_ume_synced_managed_ne(db: Session = Depends(get_db)):
|
||||
return delete_ume_synced_managed_ne(db).model_dump()
|
||||
|
||||
|
||||
@router.post("/exec")
|
||||
def api_exec_managed_ne(body: ManagedNeExecRequest, db: Session = Depends(get_db)):
|
||||
"""Login to a managed NE or UME inventory NE and run read-only CLI (show/display/ping)."""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue