# --------------------------------------------------------------------------
# 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-lines
# pylint: disable=too-many-statements

from azure.cli.core.commands.parameters import (
    tags_type,
    get_location_type
)
from azure.cli.core.commands.validators import get_default_location_from_resource_group
from knack.arguments import CLIArgumentType


def load_arguments(self, _):

    cluster_name = CLIArgumentType(options_list=['--name', '-n'], help='The name of the cluster.')

    with self.argument_context('stack-hci cluster') as c:
        c.argument('cluster_name', cluster_name, id_part='name')
        c.argument('tags', tags_type)

    with self.argument_context('stack-hci cluster create') as c:
        c.argument('cluster_name', cluster_name)
        c.argument('location', arg_type=get_location_type(self.cli_ctx),
                   validator=get_default_location_from_resource_group)
        c.argument('aad_client_id', help='App ID of cluster AAD identity.')
        c.argument('aad_tenant_id', help='Tenant ID of cluster AAD identity. Default is the current tenant ID')
