def associate_template_group_to_appliance(
    self,
    ne_pk: str,
    template_groups_list: list[str],
) -> dict:
    """
    Associate list of template groups to specified appliance

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

        * - Swagger Section
          - Method
          - Endpoint
        * - template
          - POST
          - /template/applianceAssociation/{nePk}

    .. warning::
        The list of templates posted will be the complete association
        for the appliance. To add a tempalte group to existing
        associated templates, include existing template groups. Use
        :func:`~silverpeak_python_sdk.Orchestrator.get_appliance_template_groups_association`
        to retrieve current associated template groups to an appliance.

    **Example**: If you want to add the template group "NEW-TEMPLATE"
    to the appliance with an NePK of "10.NE" and the appliance is
    already associated with the template group "EXISTING-TEMPLATE"
    you would pass the following:

    .. code-block:: python

        Orchestrator.associate_template_group_to_appliance(
            ne_pk = "10.NE",
            template_groups_list = ["EXISTING-TEMPLATE","NEW-TEMPLATE"],
        )

    :param ne_pk: Network Primary Key (nePk) of appliance, e.g. ``3.NE``
    :type ne_pk: str
    :param template_groups_list: List of template groups by name to
        associate to appliance
    :type template_groups_list: list[str]
    :return: Returns True/False based on successful call
    :rtype: bool
    """  # noqa: E501, W505
    data = {"templateIds": template_groups_list}

    return self._post(
        "/template/applianceAssociation/{}".format(ne_pk),
        data=data,
        return_type="bool",
    )