# --------------------------------------------------------------------------
# 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


def offazure_hyperv_cluster_list(client,
                                 subscription_id,
                                 resource_group_name,
                                 site_name,
                                 filter_=None):
    return client.get_all_clusters_in_site(subscription_id=subscription_id,
                                           resource_group_name=resource_group_name,
                                           site_name=site_name,
                                           filter=filter_)


def offazure_hyperv_cluster_show(client,
                                 subscription_id,
                                 resource_group_name,
                                 site_name,
                                 cluster_name):
    return client.get_cluster(subscription_id=subscription_id,
                              resource_group_name=resource_group_name,
                              site_name=site_name,
                              cluster_name=cluster_name)


def offazure_hyperv_host_list(client,
                              subscription_id,
                              resource_group_name,
                              site_name,
                              filter_=None):
    return client.get_all_hosts_in_site(subscription_id=subscription_id,
                                        resource_group_name=resource_group_name,
                                        site_name=site_name,
                                        filter=filter_)


def offazure_hyperv_host_show(client,
                              subscription_id,
                              resource_group_name,
                              site_name,
                              host_name):
    return client.get_host(subscription_id=subscription_id,
                           resource_group_name=resource_group_name,
                           site_name=site_name,
                           host_name=host_name)


def offazure_hyperv_machine_list(client,
                                 subscription_id,
                                 resource_group_name,
                                 site_name,
                                 filter_=None,
                                 top=None,
                                 continuation_token=None,
                                 total_record_count=None):
    return client.get_all_machines_in_site(subscription_id=subscription_id,
                                           resource_group_name=resource_group_name,
                                           site_name=site_name,
                                           filter=filter_,
                                           top=top,
                                           continuation_token_parameter=continuation_token,
                                           total_record_count=total_record_count)


def offazure_hyperv_machine_show(client,
                                 subscription_id,
                                 resource_group_name,
                                 site_name,
                                 machine_name):
    return client.get_machine(subscription_id=subscription_id,
                              resource_group_name=resource_group_name,
                              site_name=site_name,
                              machine_name=machine_name)


def offazure_hyperv_run_as_account_list(client,
                                        subscription_id,
                                        resource_group_name,
                                        site_name):
    return client.get_all_run_as_accounts_in_site(subscription_id=subscription_id,
                                                  resource_group_name=resource_group_name,
                                                  site_name=site_name)


def offazure_hyperv_run_as_account_show(client,
                                        subscription_id,
                                        resource_group_name,
                                        site_name,
                                        account_name):
    return client.get_run_as_account(subscription_id=subscription_id,
                                     resource_group_name=resource_group_name,
                                     site_name=site_name,
                                     account_name=account_name)


def offazure_hyperv_site_show(client,
                              subscription_id,
                              resource_group_name,
                              site_name):
    return client.get_site(subscription_id=subscription_id,
                           resource_group_name=resource_group_name,
                           site_name=site_name)


def offazure_hyperv_site_create(client,
                                subscription_id,
                                resource_group_name,
                                site_name,
                                name=None,
                                tags=None,
                                e_tag=None,
                                location=None,
                                service_principal_identity_details=None,
                                agent_details=None,
                                discovery_solution_id=None,
                                appliance_name=None):
    body = {}
    body['name'] = name
    body['tags'] = tags
    body['e_tag'] = e_tag
    body['location'] = location
    body['properties'] = {}
    body['properties']['service_principal_identity_details'] = service_principal_identity_details
    body['properties']['agent_details'] = agent_details
    body['properties']['discovery_solution_id'] = discovery_solution_id
    body['properties']['appliance_name'] = appliance_name
    return client.put_site(subscription_id=subscription_id,
                           resource_group_name=resource_group_name,
                           site_name=site_name,
                           body=body)


def offazure_hyperv_site_delete(client,
                                subscription_id,
                                resource_group_name,
                                site_name):
    return client.delete_site(subscription_id=subscription_id,
                              resource_group_name=resource_group_name,
                              site_name=site_name)


def offazure_vmware_machine_list(client,
                                 subscription_id,
                                 resource_group_name,
                                 site_name,
                                 filter_=None,
                                 top=None,
                                 continuation_token=None,
                                 total_record_count=None):
    return client.get_all_machines_in_site(subscription_id=subscription_id,
                                           resource_group_name=resource_group_name,
                                           site_name=site_name,
                                           filter=filter_,
                                           top=top,
                                           continuation_token_parameter=continuation_token,
                                           total_record_count=total_record_count)


def offazure_vmware_machine_show(client,
                                 subscription_id,
                                 resource_group_name,
                                 site_name,
                                 machine_name):
    return client.get_machine(subscription_id=subscription_id,
                              resource_group_name=resource_group_name,
                              site_name=site_name,
                              machine_name=machine_name)


def offazure_vmware_run_as_account_list(client,
                                        subscription_id,
                                        resource_group_name,
                                        site_name):
    return client.get_all_run_as_accounts_in_site(subscription_id=subscription_id,
                                                  resource_group_name=resource_group_name,
                                                  site_name=site_name)


def offazure_vmware_run_as_account_show(client,
                                        subscription_id,
                                        resource_group_name,
                                        site_name,
                                        account_name):
    return client.get_run_as_account(subscription_id=subscription_id,
                                     resource_group_name=resource_group_name,
                                     site_name=site_name,
                                     account_name=account_name)


def offazure_vmware_site_show(client,
                              subscription_id,
                              resource_group_name,
                              site_name):
    return client.get_site(subscription_id=subscription_id,
                           resource_group_name=resource_group_name,
                           site_name=site_name)


def offazure_vmware_site_create(client,
                                subscription_id,
                                resource_group_name,
                                site_name,
                                name=None,
                                tags=None,
                                e_tag=None,
                                location=None,
                                service_principal_identity_details=None,
                                agent_details=None,
                                discovery_solution_id=None,
                                appliance_name=None):
    body = {}
    body['name'] = name
    body['tags'] = tags
    body['e_tag'] = e_tag
    body['location'] = location
    body['properties'] = {}
    body['properties']['service_principal_identity_details'] = service_principal_identity_details
    body['properties']['agent_details'] = agent_details
    body['properties']['discovery_solution_id'] = discovery_solution_id
    body['properties']['appliance_name'] = appliance_name
    return client.put_site(subscription_id=subscription_id,
                           resource_group_name=resource_group_name,
                           site_name=site_name,
                           body=body)


def offazure_vmware_site_delete(client,
                                subscription_id,
                                resource_group_name,
                                site_name):
    return client.delete_site(subscription_id=subscription_id,
                              resource_group_name=resource_group_name,
                              site_name=site_name)


def offazure_vmware_vcenter_list(client,
                                 subscription_id,
                                 resource_group_name,
                                 site_name,
                                 filter_=None):
    return client.get_all_v_centers_in_site(subscription_id=subscription_id,
                                            resource_group_name=resource_group_name,
                                            site_name=site_name,
                                            filter=filter_)


def offazure_vmware_vcenter_show(client,
                                 subscription_id,
                                 resource_group_name,
                                 site_name,
                                 vcenter_name):
    return client.get_v_center(subscription_id=subscription_id,
                               resource_group_name=resource_group_name,
                               site_name=site_name,
                               vcenter_name=vcenter_name)
