def update_zones(
    self,
    zones: dict,
    delete_dependencies: bool,
) -> bool:
    """Configure zones on Orchestrator.

    .. list-table::
        :header-rows: 1

        * - Swagger Section
          - Method
          - Endpoint
        * - zones
          - POST
          - /zones

    .. warning::
        This will overwrite the zones so use the :func:`~get_zones`
        function to get existing zones and append if you don't want to
        remove existing zones

    :param zones: Dictionary of zones to configure in the format \n
        ``{"ZONE_ID" : {"name" : "ZONE_NAME"}, ... }`` \n
        e.g. {"1" : {"name" : "MPLS"}, ...}
    :type zones: dict
    :param delete_dependencies: If True, Zones deleted here will be
        removed from overlays, policies, interfaces and deployment
        profiles currently using those zones.
    :type delete_dependencies: bool
    :return: Returns True/False based on successful call
    :rtype: bool
    """
    return self._post(
        "/zones",
        data=zones,
        expected_status=[204],
        return_type="bool",
    )