Skip to main content
Glama

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
NameRequiredDescriptionDefault
tier1_idYes
display_nameNo
tier0_pathNo
route_advertisementNo
targetNo

Implementation Reference

  • 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
  • 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,
        )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zw008/VMware-NSX'

If you have feedback or need assistance with the MCP directory API, please join our Discord server