update_tier1_gateway
Modify an existing Tier-1 gateway configuration in VMware NSX by updating its display name, Tier-0 path linkage, or route advertisement settings using partial PATCH operations.
Instructions
Update an existing Tier-1 gateway (partial update via PATCH).
Args: tier1_id: The Tier-1 gateway ID to update. display_name: New display name (optional). tier0_path: New Tier-0 path to link (optional). route_advertisement: New route advertisement types (optional). target: Optional NSX Manager target name from config. Uses default if omitted.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tier1_id | Yes | ||
| display_name | No | ||
| tier0_path | No | ||
| route_advertisement | No | ||
| target | No |
Implementation Reference
- vmware_nsx/ops/segment_mgmt.py:226-267 (handler)The actual implementation of the update_tier1_gateway logic.
def update_tier1_gateway( client: NsxClient, tier1_id: str, **kwargs: Any, ) -> dict: """Partial-update an existing Tier-1 gateway via PATCH. Supported kwargs: display_name, tier0_path, route_advertisement_types, failover_mode. Args: client: Authenticated NSX API client. tier1_id: Tier-1 gateway identifier to update. **kwargs: Fields to update. Returns: Updated Tier-1 gateway dict from NSX API. """ _validate_id(tier1_id) allowed_fields = { "display_name", "tier0_path", "route_advertisement_types", "failover_mode", } body: dict[str, Any] = {} for key, value in kwargs.items(): if key not in allowed_fields: raise ValueError( f"Field '{key}' is not updatable. " f"Allowed: {', '.join(sorted(allowed_fields))}" ) body[key] = value if not body: raise ValueError("No update fields provided.") path = f"/policy/api/v1/infra/tier-1s/{tier1_id}" result = client.patch(path, body) _log.info("Updated Tier-1 gateway %s: %s", tier1_id, list(body.keys())) return result - mcp_server/server.py:483-508 (handler)The MCP tool registration and handler that calls the underlying operation.
def update_tier1_gateway( tier1_id: str, display_name: str | None = None, tier0_path: str | None = None, route_advertisement: str | None = None, target: str | None = None, ) -> dict: """Update an existing Tier-1 gateway (partial update via PATCH). Args: tier1_id: The Tier-1 gateway ID to update. display_name: New display name (optional). tier0_path: New Tier-0 path to link (optional). route_advertisement: New route advertisement types (optional). target: Optional NSX Manager target name from config. Uses default if omitted. """ from vmware_nsx.ops.gateway_mgmt import update_tier1_gateway as _update client = _get_connection(target) return _update( client, tier1_id, display_name=display_name, tier0_path=tier0_path, route_advertisement=route_advertisement, )