# --------------------------------------------------------------------------
# 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_swiftlet.generated._client_factory import cf_virtual_machine
    swiftlet_virtual_machine = CliCommandType(
        operations_tmpl='azext_swiftlet.vendored_sdks.swiftlet.operations._virtual_machine_operations#VirtualMachineOpe'
        'rations.{}',
        client_factory=cf_virtual_machine)
    with self.command_group('swiftlet virtual-machine', swiftlet_virtual_machine, client_factory=cf_virtual_machine,
                            is_experimental=True) as g:
        g.custom_command('list', 'swiftlet_virtual_machine_list')
        g.custom_show_command('show', 'swiftlet_virtual_machine_show')
        g.custom_command('create', 'swiftlet_virtual_machine_create', supports_no_wait=True)
        g.custom_command('update', 'swiftlet_virtual_machine_update', supports_no_wait=True)
        g.custom_command('delete', 'swiftlet_virtual_machine_delete', supports_no_wait=True, confirmation=True)
        g.custom_command('list-bundle', 'swiftlet_virtual_machine_list_bundle')
        g.custom_command('list-image', 'swiftlet_virtual_machine_list_image')
        g.custom_command('start', 'swiftlet_virtual_machine_start', supports_no_wait=True)
        g.custom_command('stop', 'swiftlet_virtual_machine_stop', supports_no_wait=True)
        g.custom_wait_command('wait', 'swiftlet_virtual_machine_show')
