# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
# pylint: disable=too-many-statements
# pylint: disable=too-many-locals

from azure.cli.core.commands import CliCommandType


def load_command_table(self, _):

    from azext_communication.generated._client_factory import cf_communication_service
    communication_communication_service = CliCommandType(
        operations_tmpl='azext_communication.vendored_sdks.communication.operations._communication_service_operations#C'
        'ommunicationServiceOperations.{}',
        client_factory=cf_communication_service)
    with self.command_group('communication', communication_communication_service,
                            client_factory=cf_communication_service) as g:
        g.custom_command('list', 'communication_list')
        g.custom_show_command('show', 'communication_show')
        g.custom_command('create', 'communication_create', supports_no_wait=True)
        g.custom_command('update', 'communication_update')
        g.custom_command('delete', 'communication_delete', supports_no_wait=True, confirmation=True)
        g.custom_command('link-notification-hub', 'communication_link_notification_hub')
        g.custom_command('list-key', 'communication_list_key')
        g.custom_command('regenerate-key', 'communication_regenerate_key')
        g.custom_wait_command('wait', 'communication_show')
