Skip to content

Shared

Shared methods for Switch Management workflows.

calculate_switch_management_fqdn(subscription)

Calculate the FQDN of a switch management interface from a subscription object.

Parameters:

Name Type Description Default
subscription SwitchManagementInactive | SwitchManagementProvisioning | SwitchManagement

A Switch Management subscription object.

required

Returns:

Type Description
str

The FQDN of a switch management interface.

Source code in gso/workflows/switch_management/shared.py
def calculate_switch_management_fqdn(
    subscription: SwitchManagementInactive | SwitchManagementProvisioning | SwitchManagement,
) -> str:
    """Calculate the FQDN of a switch management interface from a subscription object.

    Args:
        subscription: A Switch Management subscription object.

    Returns:
        The FQDN of a switch management interface.
    """
    management_interface = subscription.switch_management.management_interface
    return (
        f"{management_interface.edge_port.edge_port_name}-{management_interface.vlan_id}."  # type: ignore[union-attr]
        f"{management_interface.edge_port.node.router_fqdn}"  # type: ignore[union-attr]
    )

calculate_dcn_management_fqdn(subscription)

Calculate the FQDN of a DCN interface from a subscription object.

Parameters:

Name Type Description Default
subscription SwitchManagementInactive | SwitchManagementProvisioning | SwitchManagement

A Switch Management subscription object.

required

Returns:

Type Description
str | None

The FQDN of a DCN management interface, if it exists.

Source code in gso/workflows/switch_management/shared.py
def calculate_dcn_management_fqdn(
    subscription: SwitchManagementInactive | SwitchManagementProvisioning | SwitchManagement,
) -> str | None:
    """Calculate the FQDN of a DCN interface from a subscription object.

    Args:
        subscription: A Switch Management subscription object.

    Returns:
        The FQDN of a DCN management interface, if it exists.
    """
    if dcn_interface := subscription.switch_management.dcn_interface:
        return (
            f"{dcn_interface.edge_port.edge_port_name}-{dcn_interface.vlan_id}."  # type: ignore[union-attr]
            f"{dcn_interface.edge_port.node.router_fqdn}"  # type: ignore[union-attr]
        )
    return None