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


def devicescorpmgt_deviceappmanagementdeviceappmanagement_show_device_app_management(client,
                                                                                     select=None,
                                                                                     expand=None):
    return client.get_device_app_management(select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagementdeviceappmanagement_update_device_app_management(client,
                                                                                       id_=None,
                                                                                       is_enabled_for_microsoft_store_for_business=None,
                                                                                       microsoft_store_for_business_language=None,
                                                                                       microsoft_store_for_business_last_completed_application_sync_time=None,
                                                                                       microsoft_store_for_business_last_successful_sync_date_time=None,
                                                                                       managed_e_books=None,
                                                                                       mobile_app_categories=None,
                                                                                       mobile_app_configurations=None,
                                                                                       mobile_apps=None,
                                                                                       vpp_tokens=None,
                                                                                       android_managed_app_protections=None,
                                                                                       default_managed_app_protections=None,
                                                                                       ios_managed_app_protections=None,
                                                                                       managed_app_policies=None,
                                                                                       managed_app_registrations=None,
                                                                                       managed_app_statuses=None,
                                                                                       mdm_windows_information_protection_policies=None,
                                                                                       targeted_managed_app_configurations=None,
                                                                                       windows_information_protection_policies=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if is_enabled_for_microsoft_store_for_business is not None:
        body['is_enabled_for_microsoft_store_for_business'] = is_enabled_for_microsoft_store_for_business
    if microsoft_store_for_business_language is not None:
        body['microsoft_store_for_business_language'] = microsoft_store_for_business_language
    if microsoft_store_for_business_last_completed_application_sync_time is not None:
        body['microsoft_store_for_business_last_completed_application_sync_time'] = microsoft_store_for_business_last_completed_application_sync_time
    if microsoft_store_for_business_last_successful_sync_date_time is not None:
        body['microsoft_store_for_business_last_successful_sync_date_time'] = microsoft_store_for_business_last_successful_sync_date_time
    if managed_e_books is not None:
        body['managed_e_books'] = managed_e_books
    if mobile_app_categories is not None:
        body['mobile_app_categories'] = mobile_app_categories
    if mobile_app_configurations is not None:
        body['mobile_app_configurations'] = mobile_app_configurations
    if mobile_apps is not None:
        body['mobile_apps'] = mobile_apps
    if vpp_tokens is not None:
        body['vpp_tokens'] = vpp_tokens
    if android_managed_app_protections is not None:
        body['android_managed_app_protections'] = android_managed_app_protections
    if default_managed_app_protections is not None:
        body['default_managed_app_protections'] = default_managed_app_protections
    if ios_managed_app_protections is not None:
        body['ios_managed_app_protections'] = ios_managed_app_protections
    if managed_app_policies is not None:
        body['managed_app_policies'] = managed_app_policies
    if managed_app_registrations is not None:
        body['managed_app_registrations'] = managed_app_registrations
    if managed_app_statuses is not None:
        body['managed_app_statuses'] = managed_app_statuses
    if mdm_windows_information_protection_policies is not None:
        body['mdm_windows_information_protection_policies'] = mdm_windows_information_protection_policies
    if targeted_managed_app_configurations is not None:
        body['targeted_managed_app_configurations'] = targeted_managed_app_configurations
    if windows_information_protection_policies is not None:
        body['windows_information_protection_policies'] = windows_information_protection_policies
    return client.update_device_app_management(body=body)


def devicescorpmgt_deviceappmanagement_create_android_managed_app_protection(client,
                                                                             body):
    return client.create_android_managed_app_protections(body=body)


def devicescorpmgt_deviceappmanagement_create_default_managed_app_protection(client,
                                                                             body):
    return client.create_default_managed_app_protections(body=body)


def devicescorpmgt_deviceappmanagement_create_io_managed_app_protection(client,
                                                                        body):
    return client.create_ios_managed_app_protections(body=body)


def devicescorpmgt_deviceappmanagement_create_managed_app_policy(client,
                                                                 id_=None,
                                                                 created_date_time=None,
                                                                 description=None,
                                                                 display_name=None,
                                                                 last_modified_date_time=None,
                                                                 version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.create_managed_app_policies(body=body)


def devicescorpmgt_deviceappmanagement_create_managed_app_registration(client,
                                                                       id_=None,
                                                                       app_identifier=None,
                                                                       application_version=None,
                                                                       created_date_time=None,
                                                                       device_name=None,
                                                                       device_tag=None,
                                                                       device_type=None,
                                                                       flagged_reasons=None,
                                                                       last_sync_date_time=None,
                                                                       management_sdk_version=None,
                                                                       platform_version=None,
                                                                       user_id=None,
                                                                       version=None,
                                                                       applied_policies=None,
                                                                       intended_policies=None,
                                                                       operations=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if app_identifier is not None:
        body['app_identifier'] = app_identifier
    if application_version is not None:
        body['application_version'] = application_version
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if device_name is not None:
        body['device_name'] = device_name
    if device_tag is not None:
        body['device_tag'] = device_tag
    if device_type is not None:
        body['device_type'] = device_type
    if flagged_reasons is not None:
        body['flagged_reasons'] = flagged_reasons
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if management_sdk_version is not None:
        body['management_sdk_version'] = management_sdk_version
    if platform_version is not None:
        body['platform_version'] = platform_version
    if user_id is not None:
        body['user_id'] = user_id
    if version is not None:
        body['version'] = version
    if applied_policies is not None:
        body['applied_policies'] = applied_policies
    if intended_policies is not None:
        body['intended_policies'] = intended_policies
    if operations is not None:
        body['operations'] = operations
    return client.create_managed_app_registrations(body=body)


def devicescorpmgt_deviceappmanagement_create_managed_app_statuses(client,
                                                                   id_=None,
                                                                   display_name=None,
                                                                   version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if version is not None:
        body['version'] = version
    return client.create_managed_app_statuses(body=body)


def devicescorpmgt_deviceappmanagement_create_managed_e_book(client,
                                                             id_=None,
                                                             created_date_time=None,
                                                             description=None,
                                                             display_name=None,
                                                             information_url=None,
                                                             large_cover=None,
                                                             last_modified_date_time=None,
                                                             privacy_information_url=None,
                                                             published_date_time=None,
                                                             publisher=None,
                                                             assignments=None,
                                                             device_states=None,
                                                             install_summary=None,
                                                             user_state_summary=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if information_url is not None:
        body['information_url'] = information_url
    if large_cover is not None:
        body['large_cover'] = large_cover
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if privacy_information_url is not None:
        body['privacy_information_url'] = privacy_information_url
    if published_date_time is not None:
        body['published_date_time'] = published_date_time
    if publisher is not None:
        body['publisher'] = publisher
    if assignments is not None:
        body['assignments'] = assignments
    if device_states is not None:
        body['device_states'] = device_states
    if install_summary is not None:
        body['install_summary'] = install_summary
    if user_state_summary is not None:
        body['user_state_summary'] = user_state_summary
    return client.create_managed_e_books(body=body)


def devicescorpmgt_deviceappmanagement_create_mdm_window_information_protection_policy(client,
                                                                                       id_=None,
                                                                                       created_date_time=None,
                                                                                       description=None,
                                                                                       display_name=None,
                                                                                       last_modified_date_time=None,
                                                                                       version=None,
                                                                                       azure_rights_management_services_allowed=None,
                                                                                       data_recovery_certificate=None,
                                                                                       enforcement_level=None,
                                                                                       enterprise_domain=None,
                                                                                       enterprise_internal_proxy_servers=None,
                                                                                       enterprise_ip_ranges=None,
                                                                                       enterprise_ip_ranges_are_authoritative=None,
                                                                                       enterprise_network_domain_names=None,
                                                                                       enterprise_protected_domain_names=None,
                                                                                       enterprise_proxied_domains=None,
                                                                                       enterprise_proxy_servers=None,
                                                                                       enterprise_proxy_servers_are_authoritative=None,
                                                                                       exempt_apps=None,
                                                                                       icons_visible=None,
                                                                                       indexing_encrypted_stores_or_items_blocked=None,
                                                                                       is_assigned=None,
                                                                                       neutral_domain_resources=None,
                                                                                       protected_apps=None,
                                                                                       protection_under_lock_config_required=None,
                                                                                       revoke_on_unenroll_disabled=None,
                                                                                       rights_management_services_template_id=None,
                                                                                       smb_auto_encrypted_file_extensions=None,
                                                                                       assignments=None,
                                                                                       exempt_app_locker_files=None,
                                                                                       protected_app_locker_files=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if azure_rights_management_services_allowed is not None:
        body['azure_rights_management_services_allowed'] = azure_rights_management_services_allowed
    if data_recovery_certificate is not None:
        body['data_recovery_certificate'] = data_recovery_certificate
    if enforcement_level is not None:
        body['enforcement_level'] = enforcement_level
    if enterprise_domain is not None:
        body['enterprise_domain'] = enterprise_domain
    if enterprise_internal_proxy_servers is not None:
        body['enterprise_internal_proxy_servers'] = enterprise_internal_proxy_servers
    if enterprise_ip_ranges is not None:
        body['enterprise_ip_ranges'] = enterprise_ip_ranges
    if enterprise_ip_ranges_are_authoritative is not None:
        body['enterprise_ip_ranges_are_authoritative'] = enterprise_ip_ranges_are_authoritative
    if enterprise_network_domain_names is not None:
        body['enterprise_network_domain_names'] = enterprise_network_domain_names
    if enterprise_protected_domain_names is not None:
        body['enterprise_protected_domain_names'] = enterprise_protected_domain_names
    if enterprise_proxied_domains is not None:
        body['enterprise_proxied_domains'] = enterprise_proxied_domains
    if enterprise_proxy_servers is not None:
        body['enterprise_proxy_servers'] = enterprise_proxy_servers
    if enterprise_proxy_servers_are_authoritative is not None:
        body['enterprise_proxy_servers_are_authoritative'] = enterprise_proxy_servers_are_authoritative
    if exempt_apps is not None:
        body['exempt_apps'] = exempt_apps
    if icons_visible is not None:
        body['icons_visible'] = icons_visible
    if indexing_encrypted_stores_or_items_blocked is not None:
        body['indexing_encrypted_stores_or_items_blocked'] = indexing_encrypted_stores_or_items_blocked
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if neutral_domain_resources is not None:
        body['neutral_domain_resources'] = neutral_domain_resources
    if protected_apps is not None:
        body['protected_apps'] = protected_apps
    if protection_under_lock_config_required is not None:
        body['protection_under_lock_config_required'] = protection_under_lock_config_required
    if revoke_on_unenroll_disabled is not None:
        body['revoke_on_unenroll_disabled'] = revoke_on_unenroll_disabled
    if rights_management_services_template_id is not None:
        body['rights_management_services_template_id'] = rights_management_services_template_id
    if smb_auto_encrypted_file_extensions is not None:
        body['smb_auto_encrypted_file_extensions'] = smb_auto_encrypted_file_extensions
    if assignments is not None:
        body['assignments'] = assignments
    if exempt_app_locker_files is not None:
        body['exempt_app_locker_files'] = exempt_app_locker_files
    if protected_app_locker_files is not None:
        body['protected_app_locker_files'] = protected_app_locker_files
    return client.create_mdm_windows_information_protection_policies(body=body)


def devicescorpmgt_deviceappmanagement_create_mobile_app(client,
                                                         id_=None,
                                                         created_date_time=None,
                                                         description=None,
                                                         developer=None,
                                                         display_name=None,
                                                         information_url=None,
                                                         is_featured=None,
                                                         large_icon=None,
                                                         last_modified_date_time=None,
                                                         notes=None,
                                                         owner=None,
                                                         privacy_information_url=None,
                                                         publisher=None,
                                                         publishing_state=None,
                                                         assignments=None,
                                                         categories=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if developer is not None:
        body['developer'] = developer
    if display_name is not None:
        body['display_name'] = display_name
    if information_url is not None:
        body['information_url'] = information_url
    if is_featured is not None:
        body['is_featured'] = is_featured
    if large_icon is not None:
        body['large_icon'] = large_icon
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if notes is not None:
        body['notes'] = notes
    if owner is not None:
        body['owner'] = owner
    if privacy_information_url is not None:
        body['privacy_information_url'] = privacy_information_url
    if publisher is not None:
        body['publisher'] = publisher
    if publishing_state is not None:
        body['publishing_state'] = publishing_state
    if assignments is not None:
        body['assignments'] = assignments
    if categories is not None:
        body['categories'] = categories
    return client.create_mobile_apps(body=body)


def devicescorpmgt_deviceappmanagement_create_mobile_app_category(client,
                                                                  id_=None,
                                                                  display_name=None,
                                                                  last_modified_date_time=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    return client.create_mobile_app_categories(body=body)


def devicescorpmgt_deviceappmanagement_create_mobile_app_configuration(client,
                                                                       id_=None,
                                                                       created_date_time=None,
                                                                       description=None,
                                                                       display_name=None,
                                                                       last_modified_date_time=None,
                                                                       targeted_mobile_apps=None,
                                                                       version=None,
                                                                       assignments=None,
                                                                       device_statuses=None,
                                                                       device_status_summary=None,
                                                                       user_statuses=None,
                                                                       user_status_summary=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if targeted_mobile_apps is not None:
        body['targeted_mobile_apps'] = targeted_mobile_apps
    if version is not None:
        body['version'] = version
    if assignments is not None:
        body['assignments'] = assignments
    if device_statuses is not None:
        body['device_statuses'] = device_statuses
    if device_status_summary is not None:
        body['device_status_summary'] = device_status_summary
    if user_statuses is not None:
        body['user_statuses'] = user_statuses
    if user_status_summary is not None:
        body['user_status_summary'] = user_status_summary
    return client.create_mobile_app_configurations(body=body)


def devicescorpmgt_deviceappmanagement_create_targeted_managed_app_configuration(client,
                                                                                 id_=None,
                                                                                 created_date_time=None,
                                                                                 description=None,
                                                                                 display_name=None,
                                                                                 last_modified_date_time=None,
                                                                                 version=None,
                                                                                 custom_settings=None,
                                                                                 deployed_app_count=None,
                                                                                 is_assigned=None,
                                                                                 apps=None,
                                                                                 assignments=None,
                                                                                 microsoft_graph_entity_id=None,
                                                                                 configuration_deployed_user_count=None,
                                                                                 configuration_deployment_summary_per_app=None,
                                                                                 microsoft_graph_managed_app_policy_deployment_summary_display_name=None,
                                                                                 last_refresh_time=None,
                                                                                 microsoft_graph_managed_app_policy_deployment_summary_version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if custom_settings is not None:
        body['custom_settings'] = custom_settings
    if deployed_app_count is not None:
        body['deployed_app_count'] = deployed_app_count
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if apps is not None:
        body['apps'] = apps
    if assignments is not None:
        body['assignments'] = assignments
    body['deployment_summary'] = {}
    if microsoft_graph_entity_id is not None:
        body['deployment_summary']['id'] = microsoft_graph_entity_id
    if configuration_deployed_user_count is not None:
        body['deployment_summary']['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['deployment_summary']['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if microsoft_graph_managed_app_policy_deployment_summary_display_name is not None:
        body['deployment_summary']['display_name'] = microsoft_graph_managed_app_policy_deployment_summary_display_name
    if last_refresh_time is not None:
        body['deployment_summary']['last_refresh_time'] = last_refresh_time
    if microsoft_graph_managed_app_policy_deployment_summary_version is not None:
        body['deployment_summary']['version'] = microsoft_graph_managed_app_policy_deployment_summary_version
    if len(body['deployment_summary']) == 0:
        del body['deployment_summary']
    return client.create_targeted_managed_app_configurations(body=body)


def devicescorpmgt_deviceappmanagement_create_vpp_token(client,
                                                        id_=None,
                                                        apple_id=None,
                                                        automatically_update_apps=None,
                                                        country_or_region=None,
                                                        expiration_date_time=None,
                                                        last_modified_date_time=None,
                                                        last_sync_date_time=None,
                                                        last_sync_status=None,
                                                        organization_name=None,
                                                        state=None,
                                                        token=None,
                                                        vpp_token_account_type=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if apple_id is not None:
        body['apple_id'] = apple_id
    if automatically_update_apps is not None:
        body['automatically_update_apps'] = automatically_update_apps
    if country_or_region is not None:
        body['country_or_region'] = country_or_region
    if expiration_date_time is not None:
        body['expiration_date_time'] = expiration_date_time
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if last_sync_status is not None:
        body['last_sync_status'] = last_sync_status
    if organization_name is not None:
        body['organization_name'] = organization_name
    if state is not None:
        body['state'] = state
    if token is not None:
        body['token'] = token
    if vpp_token_account_type is not None:
        body['vpp_token_account_type'] = vpp_token_account_type
    return client.create_vpp_tokens(body=body)


def devicescorpmgt_deviceappmanagement_create_window_information_protection_policy(client,
                                                                                   id_=None,
                                                                                   created_date_time=None,
                                                                                   description=None,
                                                                                   display_name=None,
                                                                                   last_modified_date_time=None,
                                                                                   version=None,
                                                                                   azure_rights_management_services_allowed=None,
                                                                                   data_recovery_certificate=None,
                                                                                   enforcement_level=None,
                                                                                   enterprise_domain=None,
                                                                                   enterprise_internal_proxy_servers=None,
                                                                                   enterprise_ip_ranges=None,
                                                                                   enterprise_ip_ranges_are_authoritative=None,
                                                                                   enterprise_network_domain_names=None,
                                                                                   enterprise_protected_domain_names=None,
                                                                                   enterprise_proxied_domains=None,
                                                                                   enterprise_proxy_servers=None,
                                                                                   enterprise_proxy_servers_are_authoritative=None,
                                                                                   exempt_apps=None,
                                                                                   icons_visible=None,
                                                                                   indexing_encrypted_stores_or_items_blocked=None,
                                                                                   is_assigned=None,
                                                                                   neutral_domain_resources=None,
                                                                                   protected_apps=None,
                                                                                   protection_under_lock_config_required=None,
                                                                                   revoke_on_unenroll_disabled=None,
                                                                                   rights_management_services_template_id=None,
                                                                                   smb_auto_encrypted_file_extensions=None,
                                                                                   assignments=None,
                                                                                   exempt_app_locker_files=None,
                                                                                   protected_app_locker_files=None,
                                                                                   days_without_contact_before_unenroll=None,
                                                                                   mdm_enrollment_url=None,
                                                                                   minutes_of_inactivity_before_device_lock=None,
                                                                                   number_of_past_pins_remembered=None,
                                                                                   password_maximum_attempt_count=None,
                                                                                   pin_expiration_days=None,
                                                                                   pin_lowercase_letters=None,
                                                                                   pin_minimum_length=None,
                                                                                   pin_special_characters=None,
                                                                                   pin_uppercase_letters=None,
                                                                                   revoke_on_mdm_handoff_disabled=None,
                                                                                   windows_hello_for_business_blocked=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if azure_rights_management_services_allowed is not None:
        body['azure_rights_management_services_allowed'] = azure_rights_management_services_allowed
    if data_recovery_certificate is not None:
        body['data_recovery_certificate'] = data_recovery_certificate
    if enforcement_level is not None:
        body['enforcement_level'] = enforcement_level
    if enterprise_domain is not None:
        body['enterprise_domain'] = enterprise_domain
    if enterprise_internal_proxy_servers is not None:
        body['enterprise_internal_proxy_servers'] = enterprise_internal_proxy_servers
    if enterprise_ip_ranges is not None:
        body['enterprise_ip_ranges'] = enterprise_ip_ranges
    if enterprise_ip_ranges_are_authoritative is not None:
        body['enterprise_ip_ranges_are_authoritative'] = enterprise_ip_ranges_are_authoritative
    if enterprise_network_domain_names is not None:
        body['enterprise_network_domain_names'] = enterprise_network_domain_names
    if enterprise_protected_domain_names is not None:
        body['enterprise_protected_domain_names'] = enterprise_protected_domain_names
    if enterprise_proxied_domains is not None:
        body['enterprise_proxied_domains'] = enterprise_proxied_domains
    if enterprise_proxy_servers is not None:
        body['enterprise_proxy_servers'] = enterprise_proxy_servers
    if enterprise_proxy_servers_are_authoritative is not None:
        body['enterprise_proxy_servers_are_authoritative'] = enterprise_proxy_servers_are_authoritative
    if exempt_apps is not None:
        body['exempt_apps'] = exempt_apps
    if icons_visible is not None:
        body['icons_visible'] = icons_visible
    if indexing_encrypted_stores_or_items_blocked is not None:
        body['indexing_encrypted_stores_or_items_blocked'] = indexing_encrypted_stores_or_items_blocked
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if neutral_domain_resources is not None:
        body['neutral_domain_resources'] = neutral_domain_resources
    if protected_apps is not None:
        body['protected_apps'] = protected_apps
    if protection_under_lock_config_required is not None:
        body['protection_under_lock_config_required'] = protection_under_lock_config_required
    if revoke_on_unenroll_disabled is not None:
        body['revoke_on_unenroll_disabled'] = revoke_on_unenroll_disabled
    if rights_management_services_template_id is not None:
        body['rights_management_services_template_id'] = rights_management_services_template_id
    if smb_auto_encrypted_file_extensions is not None:
        body['smb_auto_encrypted_file_extensions'] = smb_auto_encrypted_file_extensions
    if assignments is not None:
        body['assignments'] = assignments
    if exempt_app_locker_files is not None:
        body['exempt_app_locker_files'] = exempt_app_locker_files
    if protected_app_locker_files is not None:
        body['protected_app_locker_files'] = protected_app_locker_files
    if days_without_contact_before_unenroll is not None:
        body['days_without_contact_before_unenroll'] = days_without_contact_before_unenroll
    if mdm_enrollment_url is not None:
        body['mdm_enrollment_url'] = mdm_enrollment_url
    if minutes_of_inactivity_before_device_lock is not None:
        body['minutes_of_inactivity_before_device_lock'] = minutes_of_inactivity_before_device_lock
    if number_of_past_pins_remembered is not None:
        body['number_of_past_pins_remembered'] = number_of_past_pins_remembered
    if password_maximum_attempt_count is not None:
        body['password_maximum_attempt_count'] = password_maximum_attempt_count
    if pin_expiration_days is not None:
        body['pin_expiration_days'] = pin_expiration_days
    if pin_lowercase_letters is not None:
        body['pin_lowercase_letters'] = pin_lowercase_letters
    if pin_minimum_length is not None:
        body['pin_minimum_length'] = pin_minimum_length
    if pin_special_characters is not None:
        body['pin_special_characters'] = pin_special_characters
    if pin_uppercase_letters is not None:
        body['pin_uppercase_letters'] = pin_uppercase_letters
    if revoke_on_mdm_handoff_disabled is not None:
        body['revoke_on_mdm_handoff_disabled'] = revoke_on_mdm_handoff_disabled
    if windows_hello_for_business_blocked is not None:
        body['windows_hello_for_business_blocked'] = windows_hello_for_business_blocked
    return client.create_windows_information_protection_policies(body=body)


def devicescorpmgt_deviceappmanagement_delete_android_managed_app_protection(client,
                                                                             android_managed_app_protection_id,
                                                                             if_match=None):
    return client.delete_android_managed_app_protections(android_managed_app_protection_id=android_managed_app_protection_id,
                                                         if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_default_managed_app_protection(client,
                                                                             default_managed_app_protection_id,
                                                                             if_match=None):
    return client.delete_default_managed_app_protections(default_managed_app_protection_id=default_managed_app_protection_id,
                                                         if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_io_managed_app_protection(client,
                                                                        ios_managed_app_protection_id,
                                                                        if_match=None):
    return client.delete_ios_managed_app_protections(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                                     if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_managed_app_policy(client,
                                                                 managed_app_policy_id,
                                                                 if_match=None):
    return client.delete_managed_app_policies(managed_app_policy_id=managed_app_policy_id,
                                              if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_managed_app_registration(client,
                                                                       managed_app_registration_id,
                                                                       if_match=None):
    return client.delete_managed_app_registrations(managed_app_registration_id=managed_app_registration_id,
                                                   if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_managed_app_statuses(client,
                                                                   managed_app_status_id,
                                                                   if_match=None):
    return client.delete_managed_app_statuses(managed_app_status_id=managed_app_status_id,
                                              if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_managed_e_book(client,
                                                             managed_e_book_id,
                                                             if_match=None):
    return client.delete_managed_e_books(managed_e_book_id=managed_e_book_id,
                                         if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_mdm_window_information_protection_policy(client,
                                                                                       mdm_windows_information_protection_policy_id,
                                                                                       if_match=None):
    return client.delete_mdm_windows_information_protection_policies(mdm_windows_information_protection_policy_id=mdm_windows_information_protection_policy_id,
                                                                     if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_mobile_app(client,
                                                         mobile_app_id,
                                                         if_match=None):
    return client.delete_mobile_apps(mobile_app_id=mobile_app_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_mobile_app_category(client,
                                                                  mobile_app_category_id,
                                                                  if_match=None):
    return client.delete_mobile_app_categories(mobile_app_category_id=mobile_app_category_id,
                                               if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_mobile_app_configuration(client,
                                                                       managed_device_mobile_app_configuration_id,
                                                                       if_match=None):
    return client.delete_mobile_app_configurations(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                                   if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_targeted_managed_app_configuration(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 if_match=None):
    return client.delete_targeted_managed_app_configurations(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                                             if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_vpp_token(client,
                                                        vpp_token_id,
                                                        if_match=None):
    return client.delete_vpp_tokens(vpp_token_id=vpp_token_id,
                                    if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_window_information_protection_policy(client,
                                                                                   windows_information_protection_policy_id,
                                                                                   if_match=None):
    return client.delete_windows_information_protection_policies(windows_information_protection_policy_id=windows_information_protection_policy_id,
                                                                 if_match=if_match)


def devicescorpmgt_deviceappmanagement_list_android_managed_app_protection(client,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_android_managed_app_protections(orderby=orderby,
                                                       select=select,
                                                       expand=expand)


def devicescorpmgt_deviceappmanagement_list_default_managed_app_protection(client,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_default_managed_app_protections(orderby=orderby,
                                                       select=select,
                                                       expand=expand)


def devicescorpmgt_deviceappmanagement_list_io_managed_app_protection(client,
                                                                      orderby=None,
                                                                      select=None,
                                                                      expand=None):
    return client.list_ios_managed_app_protections(orderby=orderby,
                                                   select=select,
                                                   expand=expand)


def devicescorpmgt_deviceappmanagement_list_managed_app_policy(client,
                                                               orderby=None,
                                                               select=None,
                                                               expand=None):
    return client.list_managed_app_policies(orderby=orderby,
                                            select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagement_list_managed_app_registration(client,
                                                                     orderby=None,
                                                                     select=None,
                                                                     expand=None):
    return client.list_managed_app_registrations(orderby=orderby,
                                                 select=select,
                                                 expand=expand)


def devicescorpmgt_deviceappmanagement_list_managed_app_statuses(client,
                                                                 orderby=None,
                                                                 select=None,
                                                                 expand=None):
    return client.list_managed_app_statuses(orderby=orderby,
                                            select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagement_list_managed_e_book(client,
                                                           orderby=None,
                                                           select=None,
                                                           expand=None):
    return client.list_managed_e_books(orderby=orderby,
                                       select=select,
                                       expand=expand)


def devicescorpmgt_deviceappmanagement_list_mdm_window_information_protection_policy(client,
                                                                                     orderby=None,
                                                                                     select=None,
                                                                                     expand=None):
    return client.list_mdm_windows_information_protection_policies(orderby=orderby,
                                                                   select=select,
                                                                   expand=expand)


def devicescorpmgt_deviceappmanagement_list_mobile_app(client,
                                                       orderby=None,
                                                       select=None,
                                                       expand=None):
    return client.list_mobile_apps(orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagement_list_mobile_app_category(client,
                                                                orderby=None,
                                                                select=None,
                                                                expand=None):
    return client.list_mobile_app_categories(orderby=orderby,
                                             select=select,
                                             expand=expand)


def devicescorpmgt_deviceappmanagement_list_mobile_app_configuration(client,
                                                                     orderby=None,
                                                                     select=None,
                                                                     expand=None):
    return client.list_mobile_app_configurations(orderby=orderby,
                                                 select=select,
                                                 expand=expand)


def devicescorpmgt_deviceappmanagement_list_targeted_managed_app_configuration(client,
                                                                               orderby=None,
                                                                               select=None,
                                                                               expand=None):
    return client.list_targeted_managed_app_configurations(orderby=orderby,
                                                           select=select,
                                                           expand=expand)


def devicescorpmgt_deviceappmanagement_list_vpp_token(client,
                                                      orderby=None,
                                                      select=None,
                                                      expand=None):
    return client.list_vpp_tokens(orderby=orderby,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagement_list_window_information_protection_policy(client,
                                                                                 orderby=None,
                                                                                 select=None,
                                                                                 expand=None):
    return client.list_windows_information_protection_policies(orderby=orderby,
                                                               select=select,
                                                               expand=expand)


def devicescorpmgt_deviceappmanagement_show_android_managed_app_protection(client,
                                                                           android_managed_app_protection_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_android_managed_app_protections(android_managed_app_protection_id=android_managed_app_protection_id,
                                                      select=select,
                                                      expand=expand)


def devicescorpmgt_deviceappmanagement_show_default_managed_app_protection(client,
                                                                           default_managed_app_protection_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_default_managed_app_protections(default_managed_app_protection_id=default_managed_app_protection_id,
                                                      select=select,
                                                      expand=expand)


def devicescorpmgt_deviceappmanagement_show_io_managed_app_protection(client,
                                                                      ios_managed_app_protection_id,
                                                                      select=None,
                                                                      expand=None):
    return client.get_ios_managed_app_protections(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                                  select=select,
                                                  expand=expand)


def devicescorpmgt_deviceappmanagement_show_managed_app_policy(client,
                                                               managed_app_policy_id,
                                                               select=None,
                                                               expand=None):
    return client.get_managed_app_policies(managed_app_policy_id=managed_app_policy_id,
                                           select=select,
                                           expand=expand)


def devicescorpmgt_deviceappmanagement_show_managed_app_registration(client,
                                                                     managed_app_registration_id,
                                                                     select=None,
                                                                     expand=None):
    return client.get_managed_app_registrations(managed_app_registration_id=managed_app_registration_id,
                                                select=select,
                                                expand=expand)


def devicescorpmgt_deviceappmanagement_show_managed_app_statuses(client,
                                                                 managed_app_status_id,
                                                                 select=None,
                                                                 expand=None):
    return client.get_managed_app_statuses(managed_app_status_id=managed_app_status_id,
                                           select=select,
                                           expand=expand)


def devicescorpmgt_deviceappmanagement_show_managed_e_book(client,
                                                           managed_e_book_id,
                                                           select=None,
                                                           expand=None):
    return client.get_managed_e_books(managed_e_book_id=managed_e_book_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_deviceappmanagement_show_mdm_window_information_protection_policy(client,
                                                                                     mdm_windows_information_protection_policy_id,
                                                                                     select=None,
                                                                                     expand=None):
    return client.get_mdm_windows_information_protection_policies(mdm_windows_information_protection_policy_id=mdm_windows_information_protection_policy_id,
                                                                  select=select,
                                                                  expand=expand)


def devicescorpmgt_deviceappmanagement_show_mobile_app(client,
                                                       mobile_app_id,
                                                       select=None,
                                                       expand=None):
    return client.get_mobile_apps(mobile_app_id=mobile_app_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagement_show_mobile_app_category(client,
                                                                mobile_app_category_id,
                                                                select=None,
                                                                expand=None):
    return client.get_mobile_app_categories(mobile_app_category_id=mobile_app_category_id,
                                            select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagement_show_mobile_app_configuration(client,
                                                                     managed_device_mobile_app_configuration_id,
                                                                     select=None,
                                                                     expand=None):
    return client.get_mobile_app_configurations(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                                select=select,
                                                expand=expand)


def devicescorpmgt_deviceappmanagement_show_targeted_managed_app_configuration(client,
                                                                               targeted_managed_app_configuration_id,
                                                                               select=None,
                                                                               expand=None):
    return client.get_targeted_managed_app_configurations(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                                          select=select,
                                                          expand=expand)


def devicescorpmgt_deviceappmanagement_show_vpp_token(client,
                                                      vpp_token_id,
                                                      select=None,
                                                      expand=None):
    return client.get_vpp_tokens(vpp_token_id=vpp_token_id,
                                 select=select,
                                 expand=expand)


def devicescorpmgt_deviceappmanagement_show_window_information_protection_policy(client,
                                                                                 windows_information_protection_policy_id,
                                                                                 select=None,
                                                                                 expand=None):
    return client.get_windows_information_protection_policies(windows_information_protection_policy_id=windows_information_protection_policy_id,
                                                              select=select,
                                                              expand=expand)


def devicescorpmgt_deviceappmanagement_sync_microsoft_store_for_business_app(client):
    return client.sync_microsoft_store_for_business_apps()


def devicescorpmgt_deviceappmanagement_update_android_managed_app_protection(client,
                                                                             android_managed_app_protection_id,
                                                                             body):
    return client.update_android_managed_app_protections(android_managed_app_protection_id=android_managed_app_protection_id,
                                                         body=body)


def devicescorpmgt_deviceappmanagement_update_default_managed_app_protection(client,
                                                                             default_managed_app_protection_id,
                                                                             body):
    return client.update_default_managed_app_protections(default_managed_app_protection_id=default_managed_app_protection_id,
                                                         body=body)


def devicescorpmgt_deviceappmanagement_update_io_managed_app_protection(client,
                                                                        ios_managed_app_protection_id,
                                                                        body):
    return client.update_ios_managed_app_protections(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                                     body=body)


def devicescorpmgt_deviceappmanagement_update_managed_app_policy(client,
                                                                 managed_app_policy_id,
                                                                 id_=None,
                                                                 created_date_time=None,
                                                                 description=None,
                                                                 display_name=None,
                                                                 last_modified_date_time=None,
                                                                 version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.update_managed_app_policies(managed_app_policy_id=managed_app_policy_id,
                                              body=body)


def devicescorpmgt_deviceappmanagement_update_managed_app_registration(client,
                                                                       managed_app_registration_id,
                                                                       id_=None,
                                                                       app_identifier=None,
                                                                       application_version=None,
                                                                       created_date_time=None,
                                                                       device_name=None,
                                                                       device_tag=None,
                                                                       device_type=None,
                                                                       flagged_reasons=None,
                                                                       last_sync_date_time=None,
                                                                       management_sdk_version=None,
                                                                       platform_version=None,
                                                                       user_id=None,
                                                                       version=None,
                                                                       applied_policies=None,
                                                                       intended_policies=None,
                                                                       operations=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if app_identifier is not None:
        body['app_identifier'] = app_identifier
    if application_version is not None:
        body['application_version'] = application_version
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if device_name is not None:
        body['device_name'] = device_name
    if device_tag is not None:
        body['device_tag'] = device_tag
    if device_type is not None:
        body['device_type'] = device_type
    if flagged_reasons is not None:
        body['flagged_reasons'] = flagged_reasons
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if management_sdk_version is not None:
        body['management_sdk_version'] = management_sdk_version
    if platform_version is not None:
        body['platform_version'] = platform_version
    if user_id is not None:
        body['user_id'] = user_id
    if version is not None:
        body['version'] = version
    if applied_policies is not None:
        body['applied_policies'] = applied_policies
    if intended_policies is not None:
        body['intended_policies'] = intended_policies
    if operations is not None:
        body['operations'] = operations
    return client.update_managed_app_registrations(managed_app_registration_id=managed_app_registration_id,
                                                   body=body)


def devicescorpmgt_deviceappmanagement_update_managed_app_statuses(client,
                                                                   managed_app_status_id,
                                                                   id_=None,
                                                                   display_name=None,
                                                                   version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if version is not None:
        body['version'] = version
    return client.update_managed_app_statuses(managed_app_status_id=managed_app_status_id,
                                              body=body)


def devicescorpmgt_deviceappmanagement_update_managed_e_book(client,
                                                             managed_e_book_id,
                                                             id_=None,
                                                             created_date_time=None,
                                                             description=None,
                                                             display_name=None,
                                                             information_url=None,
                                                             large_cover=None,
                                                             last_modified_date_time=None,
                                                             privacy_information_url=None,
                                                             published_date_time=None,
                                                             publisher=None,
                                                             assignments=None,
                                                             device_states=None,
                                                             install_summary=None,
                                                             user_state_summary=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if information_url is not None:
        body['information_url'] = information_url
    if large_cover is not None:
        body['large_cover'] = large_cover
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if privacy_information_url is not None:
        body['privacy_information_url'] = privacy_information_url
    if published_date_time is not None:
        body['published_date_time'] = published_date_time
    if publisher is not None:
        body['publisher'] = publisher
    if assignments is not None:
        body['assignments'] = assignments
    if device_states is not None:
        body['device_states'] = device_states
    if install_summary is not None:
        body['install_summary'] = install_summary
    if user_state_summary is not None:
        body['user_state_summary'] = user_state_summary
    return client.update_managed_e_books(managed_e_book_id=managed_e_book_id,
                                         body=body)


def devicescorpmgt_deviceappmanagement_update_mdm_window_information_protection_policy(client,
                                                                                       mdm_windows_information_protection_policy_id,
                                                                                       id_=None,
                                                                                       created_date_time=None,
                                                                                       description=None,
                                                                                       display_name=None,
                                                                                       last_modified_date_time=None,
                                                                                       version=None,
                                                                                       azure_rights_management_services_allowed=None,
                                                                                       data_recovery_certificate=None,
                                                                                       enforcement_level=None,
                                                                                       enterprise_domain=None,
                                                                                       enterprise_internal_proxy_servers=None,
                                                                                       enterprise_ip_ranges=None,
                                                                                       enterprise_ip_ranges_are_authoritative=None,
                                                                                       enterprise_network_domain_names=None,
                                                                                       enterprise_protected_domain_names=None,
                                                                                       enterprise_proxied_domains=None,
                                                                                       enterprise_proxy_servers=None,
                                                                                       enterprise_proxy_servers_are_authoritative=None,
                                                                                       exempt_apps=None,
                                                                                       icons_visible=None,
                                                                                       indexing_encrypted_stores_or_items_blocked=None,
                                                                                       is_assigned=None,
                                                                                       neutral_domain_resources=None,
                                                                                       protected_apps=None,
                                                                                       protection_under_lock_config_required=None,
                                                                                       revoke_on_unenroll_disabled=None,
                                                                                       rights_management_services_template_id=None,
                                                                                       smb_auto_encrypted_file_extensions=None,
                                                                                       assignments=None,
                                                                                       exempt_app_locker_files=None,
                                                                                       protected_app_locker_files=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if azure_rights_management_services_allowed is not None:
        body['azure_rights_management_services_allowed'] = azure_rights_management_services_allowed
    if data_recovery_certificate is not None:
        body['data_recovery_certificate'] = data_recovery_certificate
    if enforcement_level is not None:
        body['enforcement_level'] = enforcement_level
    if enterprise_domain is not None:
        body['enterprise_domain'] = enterprise_domain
    if enterprise_internal_proxy_servers is not None:
        body['enterprise_internal_proxy_servers'] = enterprise_internal_proxy_servers
    if enterprise_ip_ranges is not None:
        body['enterprise_ip_ranges'] = enterprise_ip_ranges
    if enterprise_ip_ranges_are_authoritative is not None:
        body['enterprise_ip_ranges_are_authoritative'] = enterprise_ip_ranges_are_authoritative
    if enterprise_network_domain_names is not None:
        body['enterprise_network_domain_names'] = enterprise_network_domain_names
    if enterprise_protected_domain_names is not None:
        body['enterprise_protected_domain_names'] = enterprise_protected_domain_names
    if enterprise_proxied_domains is not None:
        body['enterprise_proxied_domains'] = enterprise_proxied_domains
    if enterprise_proxy_servers is not None:
        body['enterprise_proxy_servers'] = enterprise_proxy_servers
    if enterprise_proxy_servers_are_authoritative is not None:
        body['enterprise_proxy_servers_are_authoritative'] = enterprise_proxy_servers_are_authoritative
    if exempt_apps is not None:
        body['exempt_apps'] = exempt_apps
    if icons_visible is not None:
        body['icons_visible'] = icons_visible
    if indexing_encrypted_stores_or_items_blocked is not None:
        body['indexing_encrypted_stores_or_items_blocked'] = indexing_encrypted_stores_or_items_blocked
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if neutral_domain_resources is not None:
        body['neutral_domain_resources'] = neutral_domain_resources
    if protected_apps is not None:
        body['protected_apps'] = protected_apps
    if protection_under_lock_config_required is not None:
        body['protection_under_lock_config_required'] = protection_under_lock_config_required
    if revoke_on_unenroll_disabled is not None:
        body['revoke_on_unenroll_disabled'] = revoke_on_unenroll_disabled
    if rights_management_services_template_id is not None:
        body['rights_management_services_template_id'] = rights_management_services_template_id
    if smb_auto_encrypted_file_extensions is not None:
        body['smb_auto_encrypted_file_extensions'] = smb_auto_encrypted_file_extensions
    if assignments is not None:
        body['assignments'] = assignments
    if exempt_app_locker_files is not None:
        body['exempt_app_locker_files'] = exempt_app_locker_files
    if protected_app_locker_files is not None:
        body['protected_app_locker_files'] = protected_app_locker_files
    return client.update_mdm_windows_information_protection_policies(mdm_windows_information_protection_policy_id=mdm_windows_information_protection_policy_id,
                                                                     body=body)


def devicescorpmgt_deviceappmanagement_update_mobile_app(client,
                                                         mobile_app_id,
                                                         id_=None,
                                                         created_date_time=None,
                                                         description=None,
                                                         developer=None,
                                                         display_name=None,
                                                         information_url=None,
                                                         is_featured=None,
                                                         large_icon=None,
                                                         last_modified_date_time=None,
                                                         notes=None,
                                                         owner=None,
                                                         privacy_information_url=None,
                                                         publisher=None,
                                                         publishing_state=None,
                                                         assignments=None,
                                                         categories=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if developer is not None:
        body['developer'] = developer
    if display_name is not None:
        body['display_name'] = display_name
    if information_url is not None:
        body['information_url'] = information_url
    if is_featured is not None:
        body['is_featured'] = is_featured
    if large_icon is not None:
        body['large_icon'] = large_icon
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if notes is not None:
        body['notes'] = notes
    if owner is not None:
        body['owner'] = owner
    if privacy_information_url is not None:
        body['privacy_information_url'] = privacy_information_url
    if publisher is not None:
        body['publisher'] = publisher
    if publishing_state is not None:
        body['publishing_state'] = publishing_state
    if assignments is not None:
        body['assignments'] = assignments
    if categories is not None:
        body['categories'] = categories
    return client.update_mobile_apps(mobile_app_id=mobile_app_id,
                                     body=body)


def devicescorpmgt_deviceappmanagement_update_mobile_app_category(client,
                                                                  mobile_app_category_id,
                                                                  id_=None,
                                                                  display_name=None,
                                                                  last_modified_date_time=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    return client.update_mobile_app_categories(mobile_app_category_id=mobile_app_category_id,
                                               body=body)


def devicescorpmgt_deviceappmanagement_update_mobile_app_configuration(client,
                                                                       managed_device_mobile_app_configuration_id,
                                                                       id_=None,
                                                                       created_date_time=None,
                                                                       description=None,
                                                                       display_name=None,
                                                                       last_modified_date_time=None,
                                                                       targeted_mobile_apps=None,
                                                                       version=None,
                                                                       assignments=None,
                                                                       device_statuses=None,
                                                                       device_status_summary=None,
                                                                       user_statuses=None,
                                                                       user_status_summary=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if targeted_mobile_apps is not None:
        body['targeted_mobile_apps'] = targeted_mobile_apps
    if version is not None:
        body['version'] = version
    if assignments is not None:
        body['assignments'] = assignments
    if device_statuses is not None:
        body['device_statuses'] = device_statuses
    if device_status_summary is not None:
        body['device_status_summary'] = device_status_summary
    if user_statuses is not None:
        body['user_statuses'] = user_statuses
    if user_status_summary is not None:
        body['user_status_summary'] = user_status_summary
    return client.update_mobile_app_configurations(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                                   body=body)


def devicescorpmgt_deviceappmanagement_update_targeted_managed_app_configuration(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 id_=None,
                                                                                 created_date_time=None,
                                                                                 description=None,
                                                                                 display_name=None,
                                                                                 last_modified_date_time=None,
                                                                                 version=None,
                                                                                 custom_settings=None,
                                                                                 deployed_app_count=None,
                                                                                 is_assigned=None,
                                                                                 apps=None,
                                                                                 assignments=None,
                                                                                 microsoft_graph_entity_id=None,
                                                                                 configuration_deployed_user_count=None,
                                                                                 configuration_deployment_summary_per_app=None,
                                                                                 microsoft_graph_managed_app_policy_deployment_summary_display_name=None,
                                                                                 last_refresh_time=None,
                                                                                 microsoft_graph_managed_app_policy_deployment_summary_version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if custom_settings is not None:
        body['custom_settings'] = custom_settings
    if deployed_app_count is not None:
        body['deployed_app_count'] = deployed_app_count
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if apps is not None:
        body['apps'] = apps
    if assignments is not None:
        body['assignments'] = assignments
    body['deployment_summary'] = {}
    if microsoft_graph_entity_id is not None:
        body['deployment_summary']['id'] = microsoft_graph_entity_id
    if configuration_deployed_user_count is not None:
        body['deployment_summary']['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['deployment_summary']['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if microsoft_graph_managed_app_policy_deployment_summary_display_name is not None:
        body['deployment_summary']['display_name'] = microsoft_graph_managed_app_policy_deployment_summary_display_name
    if last_refresh_time is not None:
        body['deployment_summary']['last_refresh_time'] = last_refresh_time
    if microsoft_graph_managed_app_policy_deployment_summary_version is not None:
        body['deployment_summary']['version'] = microsoft_graph_managed_app_policy_deployment_summary_version
    if len(body['deployment_summary']) == 0:
        del body['deployment_summary']
    return client.update_targeted_managed_app_configurations(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                                             body=body)


def devicescorpmgt_deviceappmanagement_update_vpp_token(client,
                                                        vpp_token_id,
                                                        id_=None,
                                                        apple_id=None,
                                                        automatically_update_apps=None,
                                                        country_or_region=None,
                                                        expiration_date_time=None,
                                                        last_modified_date_time=None,
                                                        last_sync_date_time=None,
                                                        last_sync_status=None,
                                                        organization_name=None,
                                                        state=None,
                                                        token=None,
                                                        vpp_token_account_type=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if apple_id is not None:
        body['apple_id'] = apple_id
    if automatically_update_apps is not None:
        body['automatically_update_apps'] = automatically_update_apps
    if country_or_region is not None:
        body['country_or_region'] = country_or_region
    if expiration_date_time is not None:
        body['expiration_date_time'] = expiration_date_time
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if last_sync_status is not None:
        body['last_sync_status'] = last_sync_status
    if organization_name is not None:
        body['organization_name'] = organization_name
    if state is not None:
        body['state'] = state
    if token is not None:
        body['token'] = token
    if vpp_token_account_type is not None:
        body['vpp_token_account_type'] = vpp_token_account_type
    return client.update_vpp_tokens(vpp_token_id=vpp_token_id,
                                    body=body)


def devicescorpmgt_deviceappmanagement_update_window_information_protection_policy(client,
                                                                                   windows_information_protection_policy_id,
                                                                                   id_=None,
                                                                                   created_date_time=None,
                                                                                   description=None,
                                                                                   display_name=None,
                                                                                   last_modified_date_time=None,
                                                                                   version=None,
                                                                                   azure_rights_management_services_allowed=None,
                                                                                   data_recovery_certificate=None,
                                                                                   enforcement_level=None,
                                                                                   enterprise_domain=None,
                                                                                   enterprise_internal_proxy_servers=None,
                                                                                   enterprise_ip_ranges=None,
                                                                                   enterprise_ip_ranges_are_authoritative=None,
                                                                                   enterprise_network_domain_names=None,
                                                                                   enterprise_protected_domain_names=None,
                                                                                   enterprise_proxied_domains=None,
                                                                                   enterprise_proxy_servers=None,
                                                                                   enterprise_proxy_servers_are_authoritative=None,
                                                                                   exempt_apps=None,
                                                                                   icons_visible=None,
                                                                                   indexing_encrypted_stores_or_items_blocked=None,
                                                                                   is_assigned=None,
                                                                                   neutral_domain_resources=None,
                                                                                   protected_apps=None,
                                                                                   protection_under_lock_config_required=None,
                                                                                   revoke_on_unenroll_disabled=None,
                                                                                   rights_management_services_template_id=None,
                                                                                   smb_auto_encrypted_file_extensions=None,
                                                                                   assignments=None,
                                                                                   exempt_app_locker_files=None,
                                                                                   protected_app_locker_files=None,
                                                                                   days_without_contact_before_unenroll=None,
                                                                                   mdm_enrollment_url=None,
                                                                                   minutes_of_inactivity_before_device_lock=None,
                                                                                   number_of_past_pins_remembered=None,
                                                                                   password_maximum_attempt_count=None,
                                                                                   pin_expiration_days=None,
                                                                                   pin_lowercase_letters=None,
                                                                                   pin_minimum_length=None,
                                                                                   pin_special_characters=None,
                                                                                   pin_uppercase_letters=None,
                                                                                   revoke_on_mdm_handoff_disabled=None,
                                                                                   windows_hello_for_business_blocked=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if azure_rights_management_services_allowed is not None:
        body['azure_rights_management_services_allowed'] = azure_rights_management_services_allowed
    if data_recovery_certificate is not None:
        body['data_recovery_certificate'] = data_recovery_certificate
    if enforcement_level is not None:
        body['enforcement_level'] = enforcement_level
    if enterprise_domain is not None:
        body['enterprise_domain'] = enterprise_domain
    if enterprise_internal_proxy_servers is not None:
        body['enterprise_internal_proxy_servers'] = enterprise_internal_proxy_servers
    if enterprise_ip_ranges is not None:
        body['enterprise_ip_ranges'] = enterprise_ip_ranges
    if enterprise_ip_ranges_are_authoritative is not None:
        body['enterprise_ip_ranges_are_authoritative'] = enterprise_ip_ranges_are_authoritative
    if enterprise_network_domain_names is not None:
        body['enterprise_network_domain_names'] = enterprise_network_domain_names
    if enterprise_protected_domain_names is not None:
        body['enterprise_protected_domain_names'] = enterprise_protected_domain_names
    if enterprise_proxied_domains is not None:
        body['enterprise_proxied_domains'] = enterprise_proxied_domains
    if enterprise_proxy_servers is not None:
        body['enterprise_proxy_servers'] = enterprise_proxy_servers
    if enterprise_proxy_servers_are_authoritative is not None:
        body['enterprise_proxy_servers_are_authoritative'] = enterprise_proxy_servers_are_authoritative
    if exempt_apps is not None:
        body['exempt_apps'] = exempt_apps
    if icons_visible is not None:
        body['icons_visible'] = icons_visible
    if indexing_encrypted_stores_or_items_blocked is not None:
        body['indexing_encrypted_stores_or_items_blocked'] = indexing_encrypted_stores_or_items_blocked
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if neutral_domain_resources is not None:
        body['neutral_domain_resources'] = neutral_domain_resources
    if protected_apps is not None:
        body['protected_apps'] = protected_apps
    if protection_under_lock_config_required is not None:
        body['protection_under_lock_config_required'] = protection_under_lock_config_required
    if revoke_on_unenroll_disabled is not None:
        body['revoke_on_unenroll_disabled'] = revoke_on_unenroll_disabled
    if rights_management_services_template_id is not None:
        body['rights_management_services_template_id'] = rights_management_services_template_id
    if smb_auto_encrypted_file_extensions is not None:
        body['smb_auto_encrypted_file_extensions'] = smb_auto_encrypted_file_extensions
    if assignments is not None:
        body['assignments'] = assignments
    if exempt_app_locker_files is not None:
        body['exempt_app_locker_files'] = exempt_app_locker_files
    if protected_app_locker_files is not None:
        body['protected_app_locker_files'] = protected_app_locker_files
    if days_without_contact_before_unenroll is not None:
        body['days_without_contact_before_unenroll'] = days_without_contact_before_unenroll
    if mdm_enrollment_url is not None:
        body['mdm_enrollment_url'] = mdm_enrollment_url
    if minutes_of_inactivity_before_device_lock is not None:
        body['minutes_of_inactivity_before_device_lock'] = minutes_of_inactivity_before_device_lock
    if number_of_past_pins_remembered is not None:
        body['number_of_past_pins_remembered'] = number_of_past_pins_remembered
    if password_maximum_attempt_count is not None:
        body['password_maximum_attempt_count'] = password_maximum_attempt_count
    if pin_expiration_days is not None:
        body['pin_expiration_days'] = pin_expiration_days
    if pin_lowercase_letters is not None:
        body['pin_lowercase_letters'] = pin_lowercase_letters
    if pin_minimum_length is not None:
        body['pin_minimum_length'] = pin_minimum_length
    if pin_special_characters is not None:
        body['pin_special_characters'] = pin_special_characters
    if pin_uppercase_letters is not None:
        body['pin_uppercase_letters'] = pin_uppercase_letters
    if revoke_on_mdm_handoff_disabled is not None:
        body['revoke_on_mdm_handoff_disabled'] = revoke_on_mdm_handoff_disabled
    if windows_hello_for_business_blocked is not None:
        body['windows_hello_for_business_blocked'] = windows_hello_for_business_blocked
    return client.update_windows_information_protection_policies(windows_information_protection_policy_id=windows_information_protection_policy_id,
                                                                 body=body)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_create_app(client,
                                                                             android_managed_app_protection_id,
                                                                             id_=None,
                                                                             mobile_app_identifier=None,
                                                                             version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.create_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                              body=body)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_delete_app(client,
                                                                             android_managed_app_protection_id,
                                                                             managed_mobile_app_id,
                                                                             if_match=None):
    return client.delete_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              if_match=if_match)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_delete_deployment_summary(client,
                                                                                            android_managed_app_protection_id,
                                                                                            if_match=None):
    return client.delete_deployment_summary(android_managed_app_protection_id=android_managed_app_protection_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_list_app(client,
                                                                           android_managed_app_protection_id,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                            orderby=orderby,
                            select=select,
                            expand=expand)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_show_app(client,
                                                                           android_managed_app_protection_id,
                                                                           managed_mobile_app_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                           managed_mobile_app_id=managed_mobile_app_id,
                           select=select,
                           expand=expand)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_show_deployment_summary(client,
                                                                                          android_managed_app_protection_id,
                                                                                          select=None,
                                                                                          expand=None):
    return client.get_deployment_summary(android_managed_app_protection_id=android_managed_app_protection_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_update_app(client,
                                                                             android_managed_app_protection_id,
                                                                             managed_mobile_app_id,
                                                                             id_=None,
                                                                             mobile_app_identifier=None,
                                                                             version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.update_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              body=body)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_update_deployment_summary(client,
                                                                                            android_managed_app_protection_id,
                                                                                            id_=None,
                                                                                            configuration_deployed_user_count=None,
                                                                                            configuration_deployment_summary_per_app=None,
                                                                                            display_name=None,
                                                                                            last_refresh_time=None,
                                                                                            version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_deployed_user_count is not None:
        body['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if display_name is not None:
        body['display_name'] = display_name
    if last_refresh_time is not None:
        body['last_refresh_time'] = last_refresh_time
    if version is not None:
        body['version'] = version
    return client.update_deployment_summary(android_managed_app_protection_id=android_managed_app_protection_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_create_app(client,
                                                                             default_managed_app_protection_id,
                                                                             id_=None,
                                                                             mobile_app_identifier=None,
                                                                             version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.create_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                              body=body)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_delete_app(client,
                                                                             default_managed_app_protection_id,
                                                                             managed_mobile_app_id,
                                                                             if_match=None):
    return client.delete_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              if_match=if_match)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_delete_deployment_summary(client,
                                                                                            default_managed_app_protection_id,
                                                                                            if_match=None):
    return client.delete_deployment_summary(default_managed_app_protection_id=default_managed_app_protection_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_list_app(client,
                                                                           default_managed_app_protection_id,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                            orderby=orderby,
                            select=select,
                            expand=expand)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_show_app(client,
                                                                           default_managed_app_protection_id,
                                                                           managed_mobile_app_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                           managed_mobile_app_id=managed_mobile_app_id,
                           select=select,
                           expand=expand)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_show_deployment_summary(client,
                                                                                          default_managed_app_protection_id,
                                                                                          select=None,
                                                                                          expand=None):
    return client.get_deployment_summary(default_managed_app_protection_id=default_managed_app_protection_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_update_app(client,
                                                                             default_managed_app_protection_id,
                                                                             managed_mobile_app_id,
                                                                             id_=None,
                                                                             mobile_app_identifier=None,
                                                                             version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.update_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              body=body)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_update_deployment_summary(client,
                                                                                            default_managed_app_protection_id,
                                                                                            id_=None,
                                                                                            configuration_deployed_user_count=None,
                                                                                            configuration_deployment_summary_per_app=None,
                                                                                            display_name=None,
                                                                                            last_refresh_time=None,
                                                                                            version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_deployed_user_count is not None:
        body['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if display_name is not None:
        body['display_name'] = display_name
    if last_refresh_time is not None:
        body['last_refresh_time'] = last_refresh_time
    if version is not None:
        body['version'] = version
    return client.update_deployment_summary(default_managed_app_protection_id=default_managed_app_protection_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_create_app(client,
                                                                         ios_managed_app_protection_id,
                                                                         id_=None,
                                                                         mobile_app_identifier=None,
                                                                         version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.create_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                              body=body)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_delete_app(client,
                                                                         ios_managed_app_protection_id,
                                                                         managed_mobile_app_id,
                                                                         if_match=None):
    return client.delete_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              if_match=if_match)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_delete_deployment_summary(client,
                                                                                        ios_managed_app_protection_id,
                                                                                        if_match=None):
    return client.delete_deployment_summary(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_list_app(client,
                                                                       ios_managed_app_protection_id,
                                                                       orderby=None,
                                                                       select=None,
                                                                       expand=None):
    return client.list_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                            orderby=orderby,
                            select=select,
                            expand=expand)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_show_app(client,
                                                                       ios_managed_app_protection_id,
                                                                       managed_mobile_app_id,
                                                                       select=None,
                                                                       expand=None):
    return client.get_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                           managed_mobile_app_id=managed_mobile_app_id,
                           select=select,
                           expand=expand)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_show_deployment_summary(client,
                                                                                      ios_managed_app_protection_id,
                                                                                      select=None,
                                                                                      expand=None):
    return client.get_deployment_summary(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_update_app(client,
                                                                         ios_managed_app_protection_id,
                                                                         managed_mobile_app_id,
                                                                         id_=None,
                                                                         mobile_app_identifier=None,
                                                                         version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.update_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              body=body)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_update_deployment_summary(client,
                                                                                        ios_managed_app_protection_id,
                                                                                        id_=None,
                                                                                        configuration_deployed_user_count=None,
                                                                                        configuration_deployment_summary_per_app=None,
                                                                                        display_name=None,
                                                                                        last_refresh_time=None,
                                                                                        version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_deployed_user_count is not None:
        body['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if display_name is not None:
        body['display_name'] = display_name
    if last_refresh_time is not None:
        body['last_refresh_time'] = last_refresh_time
    if version is not None:
        body['version'] = version
    return client.update_deployment_summary(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementmanagedapppolicy_target_app(client,
                                                                  managed_app_policy_id,
                                                                  apps=None):
    body = {}
    if apps is not None:
        body['apps'] = apps
    return client.target_apps(managed_app_policy_id=managed_app_policy_id,
                              body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_create_applied_policy(client,
                                                                                   managed_app_registration_id,
                                                                                   id_=None,
                                                                                   created_date_time=None,
                                                                                   description=None,
                                                                                   display_name=None,
                                                                                   last_modified_date_time=None,
                                                                                   version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.create_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                          body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_create_intended_policy(client,
                                                                                    managed_app_registration_id,
                                                                                    id_=None,
                                                                                    created_date_time=None,
                                                                                    description=None,
                                                                                    display_name=None,
                                                                                    last_modified_date_time=None,
                                                                                    version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.create_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                           body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_create_operation(client,
                                                                              managed_app_registration_id,
                                                                              id_=None,
                                                                              display_name=None,
                                                                              last_modified_date_time=None,
                                                                              state=None,
                                                                              version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.create_operations(managed_app_registration_id=managed_app_registration_id,
                                    body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_delete_applied_policy(client,
                                                                                   managed_app_registration_id,
                                                                                   managed_app_policy_id,
                                                                                   if_match=None):
    return client.delete_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                          managed_app_policy_id=managed_app_policy_id,
                                          if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedappregistration_delete_intended_policy(client,
                                                                                    managed_app_registration_id,
                                                                                    managed_app_policy_id,
                                                                                    if_match=None):
    return client.delete_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                           managed_app_policy_id=managed_app_policy_id,
                                           if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedappregistration_delete_operation(client,
                                                                              managed_app_registration_id,
                                                                              managed_app_operation_id,
                                                                              if_match=None):
    return client.delete_operations(managed_app_registration_id=managed_app_registration_id,
                                    managed_app_operation_id=managed_app_operation_id,
                                    if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedappregistration_list_applied_policy(client,
                                                                                 managed_app_registration_id,
                                                                                 orderby=None,
                                                                                 select=None,
                                                                                 expand=None):
    return client.list_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                        orderby=orderby,
                                        select=select,
                                        expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_list_intended_policy(client,
                                                                                  managed_app_registration_id,
                                                                                  orderby=None,
                                                                                  select=None,
                                                                                  expand=None):
    return client.list_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                         orderby=orderby,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_list_operation(client,
                                                                            managed_app_registration_id,
                                                                            orderby=None,
                                                                            select=None,
                                                                            expand=None):
    return client.list_operations(managed_app_registration_id=managed_app_registration_id,
                                  orderby=orderby,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_show_applied_policy(client,
                                                                                 managed_app_registration_id,
                                                                                 managed_app_policy_id,
                                                                                 select=None,
                                                                                 expand=None):
    return client.get_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                       managed_app_policy_id=managed_app_policy_id,
                                       select=select,
                                       expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_show_intended_policy(client,
                                                                                  managed_app_registration_id,
                                                                                  managed_app_policy_id,
                                                                                  select=None,
                                                                                  expand=None):
    return client.get_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                        managed_app_policy_id=managed_app_policy_id,
                                        select=select,
                                        expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_show_operation(client,
                                                                            managed_app_registration_id,
                                                                            managed_app_operation_id,
                                                                            select=None,
                                                                            expand=None):
    return client.get_operations(managed_app_registration_id=managed_app_registration_id,
                                 managed_app_operation_id=managed_app_operation_id,
                                 select=select,
                                 expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_show_user_id_with_flagged_app_registration(client):
    return client.get_user_ids_with_flagged_app_registration()


def devicescorpmgt_deviceappmanagementmanagedappregistration_update_applied_policy(client,
                                                                                   managed_app_registration_id,
                                                                                   managed_app_policy_id,
                                                                                   id_=None,
                                                                                   created_date_time=None,
                                                                                   description=None,
                                                                                   display_name=None,
                                                                                   last_modified_date_time=None,
                                                                                   version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.update_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                          managed_app_policy_id=managed_app_policy_id,
                                          body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_update_intended_policy(client,
                                                                                    managed_app_registration_id,
                                                                                    managed_app_policy_id,
                                                                                    id_=None,
                                                                                    created_date_time=None,
                                                                                    description=None,
                                                                                    display_name=None,
                                                                                    last_modified_date_time=None,
                                                                                    version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.update_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                           managed_app_policy_id=managed_app_policy_id,
                                           body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_update_operation(client,
                                                                              managed_app_registration_id,
                                                                              managed_app_operation_id,
                                                                              id_=None,
                                                                              display_name=None,
                                                                              last_modified_date_time=None,
                                                                              state=None,
                                                                              version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.update_operations(managed_app_registration_id=managed_app_registration_id,
                                    managed_app_operation_id=managed_app_operation_id,
                                    body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistrationsappliedpolicy_target_app(client,
                                                                                      managed_app_registration_id,
                                                                                      managed_app_policy_id,
                                                                                      apps=None):
    body = {}
    if apps is not None:
        body['apps'] = apps
    return client.target_apps(managed_app_registration_id=managed_app_registration_id,
                              managed_app_policy_id=managed_app_policy_id,
                              body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistrationsintendedpolicy_target_app(client,
                                                                                       managed_app_registration_id,
                                                                                       managed_app_policy_id,
                                                                                       apps=None):
    body = {}
    if apps is not None:
        body['apps'] = apps
    return client.target_apps(managed_app_registration_id=managed_app_registration_id,
                              managed_app_policy_id=managed_app_policy_id,
                              body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_assign(client,
                                                          managed_e_book_id,
                                                          managed_e_book_assignments=None):
    body = {}
    if managed_e_book_assignments is not None:
        body['managed_e_book_assignments'] = managed_e_book_assignments
    return client.assign(managed_e_book_id=managed_e_book_id,
                         body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_create_assignment(client,
                                                                     managed_e_book_id,
                                                                     id_=None,
                                                                     install_intent=None,
                                                                     target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if install_intent is not None:
        body['install_intent'] = install_intent
    if target is not None:
        body['target'] = target
    return client.create_assignments(managed_e_book_id=managed_e_book_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_create_device_state(client,
                                                                       managed_e_book_id,
                                                                       id_=None,
                                                                       device_id=None,
                                                                       device_name=None,
                                                                       error_code=None,
                                                                       install_state=None,
                                                                       last_sync_date_time=None,
                                                                       os_description=None,
                                                                       os_version=None,
                                                                       user_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if device_id is not None:
        body['device_id'] = device_id
    if device_name is not None:
        body['device_name'] = device_name
    if error_code is not None:
        body['error_code'] = error_code
    if install_state is not None:
        body['install_state'] = install_state
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if os_description is not None:
        body['os_description'] = os_description
    if os_version is not None:
        body['os_version'] = os_version
    if user_name is not None:
        body['user_name'] = user_name
    return client.create_device_states(managed_e_book_id=managed_e_book_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_create_user_state_summary(client,
                                                                             managed_e_book_id,
                                                                             id_=None,
                                                                             failed_device_count=None,
                                                                             installed_device_count=None,
                                                                             not_installed_device_count=None,
                                                                             user_name=None,
                                                                             device_states=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if failed_device_count is not None:
        body['failed_device_count'] = failed_device_count
    if installed_device_count is not None:
        body['installed_device_count'] = installed_device_count
    if not_installed_device_count is not None:
        body['not_installed_device_count'] = not_installed_device_count
    if user_name is not None:
        body['user_name'] = user_name
    if device_states is not None:
        body['device_states'] = device_states
    return client.create_user_state_summary(managed_e_book_id=managed_e_book_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_delete_assignment(client,
                                                                     managed_e_book_id,
                                                                     managed_e_book_assignment_id,
                                                                     if_match=None):
    return client.delete_assignments(managed_e_book_id=managed_e_book_id,
                                     managed_e_book_assignment_id=managed_e_book_assignment_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebook_delete_device_state(client,
                                                                       managed_e_book_id,
                                                                       device_install_state_id,
                                                                       if_match=None):
    return client.delete_device_states(managed_e_book_id=managed_e_book_id,
                                       device_install_state_id=device_install_state_id,
                                       if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebook_delete_install_summary(client,
                                                                          managed_e_book_id,
                                                                          if_match=None):
    return client.delete_install_summary(managed_e_book_id=managed_e_book_id,
                                         if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebook_delete_user_state_summary(client,
                                                                             managed_e_book_id,
                                                                             user_install_state_summary_id,
                                                                             if_match=None):
    return client.delete_user_state_summary(managed_e_book_id=managed_e_book_id,
                                            user_install_state_summary_id=user_install_state_summary_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebook_list_assignment(client,
                                                                   managed_e_book_id,
                                                                   orderby=None,
                                                                   select=None,
                                                                   expand=None):
    return client.list_assignments(managed_e_book_id=managed_e_book_id,
                                   orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_list_device_state(client,
                                                                     managed_e_book_id,
                                                                     orderby=None,
                                                                     select=None,
                                                                     expand=None):
    return client.list_device_states(managed_e_book_id=managed_e_book_id,
                                     orderby=orderby,
                                     select=select,
                                     expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_list_user_state_summary(client,
                                                                           managed_e_book_id,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_user_state_summary(managed_e_book_id=managed_e_book_id,
                                          orderby=orderby,
                                          select=select,
                                          expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_show_assignment(client,
                                                                   managed_e_book_id,
                                                                   managed_e_book_assignment_id,
                                                                   select=None,
                                                                   expand=None):
    return client.get_assignments(managed_e_book_id=managed_e_book_id,
                                  managed_e_book_assignment_id=managed_e_book_assignment_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_show_device_state(client,
                                                                     managed_e_book_id,
                                                                     device_install_state_id,
                                                                     select=None,
                                                                     expand=None):
    return client.get_device_states(managed_e_book_id=managed_e_book_id,
                                    device_install_state_id=device_install_state_id,
                                    select=select,
                                    expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_show_install_summary(client,
                                                                        managed_e_book_id,
                                                                        select=None,
                                                                        expand=None):
    return client.get_install_summary(managed_e_book_id=managed_e_book_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_show_user_state_summary(client,
                                                                           managed_e_book_id,
                                                                           user_install_state_summary_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_user_state_summary(managed_e_book_id=managed_e_book_id,
                                         user_install_state_summary_id=user_install_state_summary_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_update_assignment(client,
                                                                     managed_e_book_id,
                                                                     managed_e_book_assignment_id,
                                                                     id_=None,
                                                                     install_intent=None,
                                                                     target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if install_intent is not None:
        body['install_intent'] = install_intent
    if target is not None:
        body['target'] = target
    return client.update_assignments(managed_e_book_id=managed_e_book_id,
                                     managed_e_book_assignment_id=managed_e_book_assignment_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_update_device_state(client,
                                                                       managed_e_book_id,
                                                                       device_install_state_id,
                                                                       id_=None,
                                                                       device_id=None,
                                                                       device_name=None,
                                                                       error_code=None,
                                                                       install_state=None,
                                                                       last_sync_date_time=None,
                                                                       os_description=None,
                                                                       os_version=None,
                                                                       user_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if device_id is not None:
        body['device_id'] = device_id
    if device_name is not None:
        body['device_name'] = device_name
    if error_code is not None:
        body['error_code'] = error_code
    if install_state is not None:
        body['install_state'] = install_state
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if os_description is not None:
        body['os_description'] = os_description
    if os_version is not None:
        body['os_version'] = os_version
    if user_name is not None:
        body['user_name'] = user_name
    return client.update_device_states(managed_e_book_id=managed_e_book_id,
                                       device_install_state_id=device_install_state_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_update_install_summary(client,
                                                                          managed_e_book_id,
                                                                          id_=None,
                                                                          failed_device_count=None,
                                                                          failed_user_count=None,
                                                                          installed_device_count=None,
                                                                          installed_user_count=None,
                                                                          not_installed_device_count=None,
                                                                          not_installed_user_count=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if failed_device_count is not None:
        body['failed_device_count'] = failed_device_count
    if failed_user_count is not None:
        body['failed_user_count'] = failed_user_count
    if installed_device_count is not None:
        body['installed_device_count'] = installed_device_count
    if installed_user_count is not None:
        body['installed_user_count'] = installed_user_count
    if not_installed_device_count is not None:
        body['not_installed_device_count'] = not_installed_device_count
    if not_installed_user_count is not None:
        body['not_installed_user_count'] = not_installed_user_count
    return client.update_install_summary(managed_e_book_id=managed_e_book_id,
                                         body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_update_user_state_summary(client,
                                                                             managed_e_book_id,
                                                                             user_install_state_summary_id,
                                                                             id_=None,
                                                                             failed_device_count=None,
                                                                             installed_device_count=None,
                                                                             not_installed_device_count=None,
                                                                             user_name=None,
                                                                             device_states=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if failed_device_count is not None:
        body['failed_device_count'] = failed_device_count
    if installed_device_count is not None:
        body['installed_device_count'] = installed_device_count
    if not_installed_device_count is not None:
        body['not_installed_device_count'] = not_installed_device_count
    if user_name is not None:
        body['user_name'] = user_name
    if device_states is not None:
        body['device_states'] = device_states
    return client.update_user_state_summary(managed_e_book_id=managed_e_book_id,
                                            user_install_state_summary_id=user_install_state_summary_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_create_device_state(client,
                                                                                        managed_e_book_id,
                                                                                        user_install_state_summary_id,
                                                                                        id_=None,
                                                                                        device_id=None,
                                                                                        device_name=None,
                                                                                        error_code=None,
                                                                                        install_state=None,
                                                                                        last_sync_date_time=None,
                                                                                        os_description=None,
                                                                                        os_version=None,
                                                                                        user_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if device_id is not None:
        body['device_id'] = device_id
    if device_name is not None:
        body['device_name'] = device_name
    if error_code is not None:
        body['error_code'] = error_code
    if install_state is not None:
        body['install_state'] = install_state
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if os_description is not None:
        body['os_description'] = os_description
    if os_version is not None:
        body['os_version'] = os_version
    if user_name is not None:
        body['user_name'] = user_name
    return client.create_device_states(managed_e_book_id=managed_e_book_id,
                                       user_install_state_summary_id=user_install_state_summary_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_delete_device_state(client,
                                                                                        managed_e_book_id,
                                                                                        user_install_state_summary_id,
                                                                                        device_install_state_id,
                                                                                        if_match=None):
    return client.delete_device_states(managed_e_book_id=managed_e_book_id,
                                       user_install_state_summary_id=user_install_state_summary_id,
                                       device_install_state_id=device_install_state_id,
                                       if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_list_device_state(client,
                                                                                      managed_e_book_id,
                                                                                      user_install_state_summary_id,
                                                                                      orderby=None,
                                                                                      select=None,
                                                                                      expand=None):
    return client.list_device_states(managed_e_book_id=managed_e_book_id,
                                     user_install_state_summary_id=user_install_state_summary_id,
                                     orderby=orderby,
                                     select=select,
                                     expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_show_device_state(client,
                                                                                      managed_e_book_id,
                                                                                      user_install_state_summary_id,
                                                                                      device_install_state_id,
                                                                                      select=None,
                                                                                      expand=None):
    return client.get_device_states(managed_e_book_id=managed_e_book_id,
                                    user_install_state_summary_id=user_install_state_summary_id,
                                    device_install_state_id=device_install_state_id,
                                    select=select,
                                    expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_update_device_state(client,
                                                                                        managed_e_book_id,
                                                                                        user_install_state_summary_id,
                                                                                        device_install_state_id,
                                                                                        id_=None,
                                                                                        device_id=None,
                                                                                        device_name=None,
                                                                                        error_code=None,
                                                                                        install_state=None,
                                                                                        last_sync_date_time=None,
                                                                                        os_description=None,
                                                                                        os_version=None,
                                                                                        user_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if device_id is not None:
        body['device_id'] = device_id
    if device_name is not None:
        body['device_name'] = device_name
    if error_code is not None:
        body['error_code'] = error_code
    if install_state is not None:
        body['install_state'] = install_state
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if os_description is not None:
        body['os_description'] = os_description
    if os_version is not None:
        body['os_version'] = os_version
    if user_name is not None:
        body['user_name'] = user_name
    return client.update_device_states(managed_e_book_id=managed_e_book_id,
                                       user_install_state_summary_id=user_install_state_summary_id,
                                       device_install_state_id=device_install_state_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_assign(client,
                                                                    managed_device_mobile_app_configuration_id,
                                                                    assignments=None):
    body = {}
    if assignments is not None:
        body['assignments'] = assignments
    return client.assign(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                         body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_create_assignment(client,
                                                                               managed_device_mobile_app_configuration_id,
                                                                               id_=None,
                                                                               target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if target is not None:
        body['target'] = target
    return client.create_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_create_device_statuses(client,
                                                                                    managed_device_mobile_app_configuration_id,
                                                                                    id_=None,
                                                                                    compliance_grace_period_expiration_date_time=None,
                                                                                    device_display_name=None,
                                                                                    device_model=None,
                                                                                    last_reported_date_time=None,
                                                                                    status=None,
                                                                                    user_name=None,
                                                                                    user_principal_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if compliance_grace_period_expiration_date_time is not None:
        body['compliance_grace_period_expiration_date_time'] = compliance_grace_period_expiration_date_time
    if device_display_name is not None:
        body['device_display_name'] = device_display_name
    if device_model is not None:
        body['device_model'] = device_model
    if last_reported_date_time is not None:
        body['last_reported_date_time'] = last_reported_date_time
    if status is not None:
        body['status'] = status
    if user_name is not None:
        body['user_name'] = user_name
    if user_principal_name is not None:
        body['user_principal_name'] = user_principal_name
    return client.create_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                         body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_create_user_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  id_=None,
                                                                                  devices_count=None,
                                                                                  last_reported_date_time=None,
                                                                                  status=None,
                                                                                  user_display_name=None,
                                                                                  user_principal_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if devices_count is not None:
        body['devices_count'] = devices_count
    if last_reported_date_time is not None:
        body['last_reported_date_time'] = last_reported_date_time
    if status is not None:
        body['status'] = status
    if user_display_name is not None:
        body['user_display_name'] = user_display_name
    if user_principal_name is not None:
        body['user_principal_name'] = user_principal_name
    return client.create_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_assignment(client,
                                                                               managed_device_mobile_app_configuration_id,
                                                                               managed_device_mobile_app_configuration_assignment_id,
                                                                               if_match=None):
    return client.delete_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                     managed_device_mobile_app_configuration_assignment_id=managed_device_mobile_app_configuration_assignment_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_device_status_summary(client,
                                                                                          managed_device_mobile_app_configuration_id,
                                                                                          if_match=None):
    return client.delete_device_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                               if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_device_statuses(client,
                                                                                    managed_device_mobile_app_configuration_id,
                                                                                    managed_device_mobile_app_configuration_device_status_id,
                                                                                    if_match=None):
    return client.delete_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                         managed_device_mobile_app_configuration_device_status_id=managed_device_mobile_app_configuration_device_status_id,
                                         if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_user_status_summary(client,
                                                                                        managed_device_mobile_app_configuration_id,
                                                                                        if_match=None):
    return client.delete_user_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                             if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_user_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  managed_device_mobile_app_configuration_user_status_id,
                                                                                  if_match=None):
    return client.delete_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                       managed_device_mobile_app_configuration_user_status_id=managed_device_mobile_app_configuration_user_status_id,
                                       if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_list_assignment(client,
                                                                             managed_device_mobile_app_configuration_id,
                                                                             orderby=None,
                                                                             select=None,
                                                                             expand=None):
    return client.list_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                   orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_list_device_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  orderby=None,
                                                                                  select=None,
                                                                                  expand=None):
    return client.list_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                       orderby=orderby,
                                       select=select,
                                       expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_list_user_statuses(client,
                                                                                managed_device_mobile_app_configuration_id,
                                                                                orderby=None,
                                                                                select=None,
                                                                                expand=None):
    return client.list_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                     orderby=orderby,
                                     select=select,
                                     expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_assignment(client,
                                                                             managed_device_mobile_app_configuration_id,
                                                                             managed_device_mobile_app_configuration_assignment_id,
                                                                             select=None,
                                                                             expand=None):
    return client.get_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                  managed_device_mobile_app_configuration_assignment_id=managed_device_mobile_app_configuration_assignment_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_device_status_summary(client,
                                                                                        managed_device_mobile_app_configuration_id,
                                                                                        select=None,
                                                                                        expand=None):
    return client.get_device_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                            select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_device_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  managed_device_mobile_app_configuration_device_status_id,
                                                                                  select=None,
                                                                                  expand=None):
    return client.get_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                      managed_device_mobile_app_configuration_device_status_id=managed_device_mobile_app_configuration_device_status_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_user_status_summary(client,
                                                                                      managed_device_mobile_app_configuration_id,
                                                                                      select=None,
                                                                                      expand=None):
    return client.get_user_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                          select=select,
                                          expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_user_statuses(client,
                                                                                managed_device_mobile_app_configuration_id,
                                                                                managed_device_mobile_app_configuration_user_status_id,
                                                                                select=None,
                                                                                expand=None):
    return client.get_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                    managed_device_mobile_app_configuration_user_status_id=managed_device_mobile_app_configuration_user_status_id,
                                    select=select,
                                    expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_assignment(client,
                                                                               managed_device_mobile_app_configuration_id,
                                                                               managed_device_mobile_app_configuration_assignment_id,
                                                                               id_=None,
                                                                               target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if target is not None:
        body['target'] = target
    return client.update_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                     managed_device_mobile_app_configuration_assignment_id=managed_device_mobile_app_configuration_assignment_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_device_status_summary(client,
                                                                                          managed_device_mobile_app_configuration_id,
                                                                                          id_=None,
                                                                                          configuration_version=None,
                                                                                          error_count=None,
                                                                                          failed_count=None,
                                                                                          last_update_date_time=None,
                                                                                          not_applicable_count=None,
                                                                                          pending_count=None,
                                                                                          success_count=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_version is not None:
        body['configuration_version'] = configuration_version
    if error_count is not None:
        body['error_count'] = error_count
    if failed_count is not None:
        body['failed_count'] = failed_count
    if last_update_date_time is not None:
        body['last_update_date_time'] = last_update_date_time
    if not_applicable_count is not None:
        body['not_applicable_count'] = not_applicable_count
    if pending_count is not None:
        body['pending_count'] = pending_count
    if success_count is not None:
        body['success_count'] = success_count
    return client.update_device_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                               body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_device_statuses(client,
                                                                                    managed_device_mobile_app_configuration_id,
                                                                                    managed_device_mobile_app_configuration_device_status_id,
                                                                                    id_=None,
                                                                                    compliance_grace_period_expiration_date_time=None,
                                                                                    device_display_name=None,
                                                                                    device_model=None,
                                                                                    last_reported_date_time=None,
                                                                                    status=None,
                                                                                    user_name=None,
                                                                                    user_principal_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if compliance_grace_period_expiration_date_time is not None:
        body['compliance_grace_period_expiration_date_time'] = compliance_grace_period_expiration_date_time
    if device_display_name is not None:
        body['device_display_name'] = device_display_name
    if device_model is not None:
        body['device_model'] = device_model
    if last_reported_date_time is not None:
        body['last_reported_date_time'] = last_reported_date_time
    if status is not None:
        body['status'] = status
    if user_name is not None:
        body['user_name'] = user_name
    if user_principal_name is not None:
        body['user_principal_name'] = user_principal_name
    return client.update_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                         managed_device_mobile_app_configuration_device_status_id=managed_device_mobile_app_configuration_device_status_id,
                                         body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_user_status_summary(client,
                                                                                        managed_device_mobile_app_configuration_id,
                                                                                        id_=None,
                                                                                        configuration_version=None,
                                                                                        error_count=None,
                                                                                        failed_count=None,
                                                                                        last_update_date_time=None,
                                                                                        not_applicable_count=None,
                                                                                        pending_count=None,
                                                                                        success_count=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_version is not None:
        body['configuration_version'] = configuration_version
    if error_count is not None:
        body['error_count'] = error_count
    if failed_count is not None:
        body['failed_count'] = failed_count
    if last_update_date_time is not None:
        body['last_update_date_time'] = last_update_date_time
    if not_applicable_count is not None:
        body['not_applicable_count'] = not_applicable_count
    if pending_count is not None:
        body['pending_count'] = pending_count
    if success_count is not None:
        body['success_count'] = success_count
    return client.update_user_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                             body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_user_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  managed_device_mobile_app_configuration_user_status_id,
                                                                                  id_=None,
                                                                                  devices_count=None,
                                                                                  last_reported_date_time=None,
                                                                                  status=None,
                                                                                  user_display_name=None,
                                                                                  user_principal_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if devices_count is not None:
        body['devices_count'] = devices_count
    if last_reported_date_time is not None:
        body['last_reported_date_time'] = last_reported_date_time
    if status is not None:
        body['status'] = status
    if user_display_name is not None:
        body['user_display_name'] = user_display_name
    if user_principal_name is not None:
        body['user_principal_name'] = user_principal_name
    return client.update_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                       managed_device_mobile_app_configuration_user_status_id=managed_device_mobile_app_configuration_user_status_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmobileapp_assign(client,
                                                       mobile_app_id,
                                                       mobile_app_assignments=None):
    body = {}
    if mobile_app_assignments is not None:
        body['mobile_app_assignments'] = mobile_app_assignments
    return client.assign(mobile_app_id=mobile_app_id,
                         body=body)


def devicescorpmgt_deviceappmanagementmobileapp_create_assignment(client,
                                                                  mobile_app_id,
                                                                  id_=None,
                                                                  intent=None,
                                                                  settings=None,
                                                                  target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if intent is not None:
        body['intent'] = intent
    if settings is not None:
        body['settings'] = settings
    if target is not None:
        body['target'] = target
    return client.create_assignments(mobile_app_id=mobile_app_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmobileapp_create_ref_category(client,
                                                                    mobile_app_id,
                                                                    body):
    return client.create_ref_categories(mobile_app_id=mobile_app_id,
                                        body=body)


def devicescorpmgt_deviceappmanagementmobileapp_delete_assignment(client,
                                                                  mobile_app_id,
                                                                  mobile_app_assignment_id,
                                                                  if_match=None):
    return client.delete_assignments(mobile_app_id=mobile_app_id,
                                     mobile_app_assignment_id=mobile_app_assignment_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileapp_list_assignment(client,
                                                                mobile_app_id,
                                                                orderby=None,
                                                                select=None,
                                                                expand=None):
    return client.list_assignments(mobile_app_id=mobile_app_id,
                                   orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagementmobileapp_list_category(client,
                                                              mobile_app_id,
                                                              orderby=None,
                                                              select=None,
                                                              expand=None):
    return client.list_categories(mobile_app_id=mobile_app_id,
                                  orderby=orderby,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmobileapp_list_ref_category(client,
                                                                  mobile_app_id,
                                                                  orderby=None):
    return client.list_ref_categories(mobile_app_id=mobile_app_id,
                                      orderby=orderby)


def devicescorpmgt_deviceappmanagementmobileapp_show_assignment(client,
                                                                mobile_app_id,
                                                                mobile_app_assignment_id,
                                                                select=None,
                                                                expand=None):
    return client.get_assignments(mobile_app_id=mobile_app_id,
                                  mobile_app_assignment_id=mobile_app_assignment_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmobileapp_update_assignment(client,
                                                                  mobile_app_id,
                                                                  mobile_app_assignment_id,
                                                                  id_=None,
                                                                  intent=None,
                                                                  settings=None,
                                                                  target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if intent is not None:
        body['intent'] = intent
    if settings is not None:
        body['settings'] = settings
    if target is not None:
        body['target'] = target
    return client.update_assignments(mobile_app_id=mobile_app_id,
                                     mobile_app_assignment_id=mobile_app_assignment_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_assign(client,
                                                                             targeted_managed_app_configuration_id,
                                                                             assignments=None):
    body = {}
    if assignments is not None:
        body['assignments'] = assignments
    return client.assign(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                         body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_create_app(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 id_=None,
                                                                                 mobile_app_identifier=None,
                                                                                 version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.create_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                              body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_create_assignment(client,
                                                                                        targeted_managed_app_configuration_id,
                                                                                        id_=None,
                                                                                        target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if target is not None:
        body['target'] = target
    return client.create_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_delete_app(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 managed_mobile_app_id,
                                                                                 if_match=None):
    return client.delete_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              if_match=if_match)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_delete_assignment(client,
                                                                                        targeted_managed_app_configuration_id,
                                                                                        targeted_managed_app_policy_assignment_id,
                                                                                        if_match=None):
    return client.delete_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                     targeted_managed_app_policy_assignment_id=targeted_managed_app_policy_assignment_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_delete_deployment_summary(client,
                                                                                                targeted_managed_app_configuration_id,
                                                                                                if_match=None):
    return client.delete_deployment_summary(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_list_app(client,
                                                                               targeted_managed_app_configuration_id,
                                                                               orderby=None,
                                                                               select=None,
                                                                               expand=None):
    return client.list_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                            orderby=orderby,
                            select=select,
                            expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_list_assignment(client,
                                                                                      targeted_managed_app_configuration_id,
                                                                                      orderby=None,
                                                                                      select=None,
                                                                                      expand=None):
    return client.list_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                   orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_show_app(client,
                                                                               targeted_managed_app_configuration_id,
                                                                               managed_mobile_app_id,
                                                                               select=None,
                                                                               expand=None):
    return client.get_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                           managed_mobile_app_id=managed_mobile_app_id,
                           select=select,
                           expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_show_assignment(client,
                                                                                      targeted_managed_app_configuration_id,
                                                                                      targeted_managed_app_policy_assignment_id,
                                                                                      select=None,
                                                                                      expand=None):
    return client.get_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                  targeted_managed_app_policy_assignment_id=targeted_managed_app_policy_assignment_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_show_deployment_summary(client,
                                                                                              targeted_managed_app_configuration_id,
                                                                                              select=None,
                                                                                              expand=None):
    return client.get_deployment_summary(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_target_app(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 apps=None):
    body = {}
    if apps is not None:
        body['apps'] = apps
    return client.target_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                              body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_update_app(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 managed_mobile_app_id,
                                                                                 id_=None,
                                                                                 mobile_app_identifier=None,
                                                                                 version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.update_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_update_assignment(client,
                                                                                        targeted_managed_app_configuration_id,
                                                                                        targeted_managed_app_policy_assignment_id,
                                                                                        id_=None,
                                                                                        target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if target is not None:
        body['target'] = target
    return client.update_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                     targeted_managed_app_policy_assignment_id=targeted_managed_app_policy_assignment_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_update_deployment_summary(client,
                                                                                                targeted_managed_app_configuration_id,
                                                                                                id_=None,
                                                                                                configuration_deployed_user_count=None,
                                                                                                configuration_deployment_summary_per_app=None,
                                                                                                display_name=None,
                                                                                                last_refresh_time=None,
                                                                                                version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_deployed_user_count is not None:
        body['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if display_name is not None:
        body['display_name'] = display_name
    if last_refresh_time is not None:
        body['last_refresh_time'] = last_refresh_time
    if version is not None:
        body['version'] = version
    return client.update_deployment_summary(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementvpptoken_sync_license(client,
                                                            vpp_token_id):
    return client.sync_licenses(vpp_token_id=vpp_token_id)


def devicescorpmgt_user_create_device_management_troubleshooting_event(client,
                                                                       user_id,
                                                                       id_=None,
                                                                       correlation_id=None,
                                                                       event_date_time=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if correlation_id is not None:
        body['correlation_id'] = correlation_id
    if event_date_time is not None:
        body['event_date_time'] = event_date_time
    return client.create_device_management_troubleshooting_events(user_id=user_id,
                                                                  body=body)


def devicescorpmgt_user_create_managed_device(client,
                                              user_id,
                                              body):
    return client.create_managed_devices(user_id=user_id,
                                         body=body)


def devicescorpmgt_user_create_ref_managed_app_registration(client,
                                                            user_id,
                                                            body):
    return client.create_ref_managed_app_registrations(user_id=user_id,
                                                       body=body)


def devicescorpmgt_user_delete_device_management_troubleshooting_event(client,
                                                                       user_id,
                                                                       device_management_troubleshooting_event_id,
                                                                       if_match=None):
    return client.delete_device_management_troubleshooting_events(user_id=user_id,
                                                                  device_management_troubleshooting_event_id=device_management_troubleshooting_event_id,
                                                                  if_match=if_match)


def devicescorpmgt_user_delete_managed_device(client,
                                              user_id,
                                              managed_device_id,
                                              if_match=None):
    return client.delete_managed_devices(user_id=user_id,
                                         managed_device_id=managed_device_id,
                                         if_match=if_match)


def devicescorpmgt_user_list_device_management_troubleshooting_event(client,
                                                                     user_id,
                                                                     orderby=None,
                                                                     select=None,
                                                                     expand=None):
    return client.list_device_management_troubleshooting_events(user_id=user_id,
                                                                orderby=orderby,
                                                                select=select,
                                                                expand=expand)


def devicescorpmgt_user_list_managed_app_registration(client,
                                                      user_id,
                                                      orderby=None,
                                                      select=None,
                                                      expand=None):
    return client.list_managed_app_registrations(user_id=user_id,
                                                 orderby=orderby,
                                                 select=select,
                                                 expand=expand)


def devicescorpmgt_user_list_managed_device(client,
                                            user_id,
                                            orderby=None,
                                            select=None,
                                            expand=None):
    return client.list_managed_devices(user_id=user_id,
                                       orderby=orderby,
                                       select=select,
                                       expand=expand)


def devicescorpmgt_user_list_ref_managed_app_registration(client,
                                                          user_id,
                                                          orderby=None):
    return client.list_ref_managed_app_registrations(user_id=user_id,
                                                     orderby=orderby)


def devicescorpmgt_user_show_device_management_troubleshooting_event(client,
                                                                     user_id,
                                                                     device_management_troubleshooting_event_id,
                                                                     select=None,
                                                                     expand=None):
    return client.get_device_management_troubleshooting_events(user_id=user_id,
                                                               device_management_troubleshooting_event_id=device_management_troubleshooting_event_id,
                                                               select=select,
                                                               expand=expand)


def devicescorpmgt_user_show_managed_device(client,
                                            user_id,
                                            managed_device_id,
                                            select=None,
                                            expand=None):
    return client.get_managed_devices(user_id=user_id,
                                      managed_device_id=managed_device_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_user_update_device_management_troubleshooting_event(client,
                                                                       user_id,
                                                                       device_management_troubleshooting_event_id,
                                                                       id_=None,
                                                                       correlation_id=None,
                                                                       event_date_time=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if correlation_id is not None:
        body['correlation_id'] = correlation_id
    if event_date_time is not None:
        body['event_date_time'] = event_date_time
    return client.update_device_management_troubleshooting_events(user_id=user_id,
                                                                  device_management_troubleshooting_event_id=device_management_troubleshooting_event_id,
                                                                  body=body)


def devicescorpmgt_user_update_managed_device(client,
                                              user_id,
                                              managed_device_id,
                                              body):
    return client.update_managed_devices(user_id=user_id,
                                         managed_device_id=managed_device_id,
                                         body=body)


def devicescorpmgt_usersmanageddevice_create_device_compliance_policy_state(client,
                                                                            user_id,
                                                                            managed_device_id,
                                                                            id_=None,
                                                                            display_name=None,
                                                                            platform_type=None,
                                                                            setting_count=None,
                                                                            setting_states=None,
                                                                            state=None,
                                                                            version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if platform_type is not None:
        body['platform_type'] = platform_type
    if setting_count is not None:
        body['setting_count'] = setting_count
    if setting_states is not None:
        body['setting_states'] = setting_states
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.create_device_compliance_policy_states(user_id=user_id,
                                                         managed_device_id=managed_device_id,
                                                         body=body)


def devicescorpmgt_usersmanageddevice_create_device_configuration_state(client,
                                                                        user_id,
                                                                        managed_device_id,
                                                                        id_=None,
                                                                        display_name=None,
                                                                        platform_type=None,
                                                                        setting_count=None,
                                                                        setting_states=None,
                                                                        state=None,
                                                                        version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if platform_type is not None:
        body['platform_type'] = platform_type
    if setting_count is not None:
        body['setting_count'] = setting_count
    if setting_states is not None:
        body['setting_states'] = setting_states
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.create_device_configuration_states(user_id=user_id,
                                                     managed_device_id=managed_device_id,
                                                     body=body)


def devicescorpmgt_usersmanageddevice_delete_device_category(client,
                                                             user_id,
                                                             managed_device_id,
                                                             if_match=None):
    return client.delete_device_category(user_id=user_id,
                                         managed_device_id=managed_device_id,
                                         if_match=if_match)


def devicescorpmgt_usersmanageddevice_delete_device_compliance_policy_state(client,
                                                                            user_id,
                                                                            managed_device_id,
                                                                            device_compliance_policy_state_id,
                                                                            if_match=None):
    return client.delete_device_compliance_policy_states(user_id=user_id,
                                                         managed_device_id=managed_device_id,
                                                         device_compliance_policy_state_id=device_compliance_policy_state_id,
                                                         if_match=if_match)


def devicescorpmgt_usersmanageddevice_delete_device_configuration_state(client,
                                                                        user_id,
                                                                        managed_device_id,
                                                                        device_configuration_state_id,
                                                                        if_match=None):
    return client.delete_device_configuration_states(user_id=user_id,
                                                     managed_device_id=managed_device_id,
                                                     device_configuration_state_id=device_configuration_state_id,
                                                     if_match=if_match)


def devicescorpmgt_usersmanageddevice_list_device_compliance_policy_state(client,
                                                                          user_id,
                                                                          managed_device_id,
                                                                          orderby=None,
                                                                          select=None,
                                                                          expand=None):
    return client.list_device_compliance_policy_states(user_id=user_id,
                                                       managed_device_id=managed_device_id,
                                                       orderby=orderby,
                                                       select=select,
                                                       expand=expand)


def devicescorpmgt_usersmanageddevice_list_device_configuration_state(client,
                                                                      user_id,
                                                                      managed_device_id,
                                                                      orderby=None,
                                                                      select=None,
                                                                      expand=None):
    return client.list_device_configuration_states(user_id=user_id,
                                                   managed_device_id=managed_device_id,
                                                   orderby=orderby,
                                                   select=select,
                                                   expand=expand)


def devicescorpmgt_usersmanageddevice_show_device_category(client,
                                                           user_id,
                                                           managed_device_id,
                                                           select=None,
                                                           expand=None):
    return client.get_device_category(user_id=user_id,
                                      managed_device_id=managed_device_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_usersmanageddevice_show_device_compliance_policy_state(client,
                                                                          user_id,
                                                                          managed_device_id,
                                                                          device_compliance_policy_state_id,
                                                                          select=None,
                                                                          expand=None):
    return client.get_device_compliance_policy_states(user_id=user_id,
                                                      managed_device_id=managed_device_id,
                                                      device_compliance_policy_state_id=device_compliance_policy_state_id,
                                                      select=select,
                                                      expand=expand)


def devicescorpmgt_usersmanageddevice_show_device_configuration_state(client,
                                                                      user_id,
                                                                      managed_device_id,
                                                                      device_configuration_state_id,
                                                                      select=None,
                                                                      expand=None):
    return client.get_device_configuration_states(user_id=user_id,
                                                  managed_device_id=managed_device_id,
                                                  device_configuration_state_id=device_configuration_state_id,
                                                  select=select,
                                                  expand=expand)


def devicescorpmgt_usersmanageddevice_update_device_category(client,
                                                             user_id,
                                                             managed_device_id,
                                                             id_=None,
                                                             description=None,
                                                             display_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    return client.update_device_category(user_id=user_id,
                                         managed_device_id=managed_device_id,
                                         body=body)


def devicescorpmgt_usersmanageddevice_update_device_compliance_policy_state(client,
                                                                            user_id,
                                                                            managed_device_id,
                                                                            device_compliance_policy_state_id,
                                                                            id_=None,
                                                                            display_name=None,
                                                                            platform_type=None,
                                                                            setting_count=None,
                                                                            setting_states=None,
                                                                            state=None,
                                                                            version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if platform_type is not None:
        body['platform_type'] = platform_type
    if setting_count is not None:
        body['setting_count'] = setting_count
    if setting_states is not None:
        body['setting_states'] = setting_states
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.update_device_compliance_policy_states(user_id=user_id,
                                                         managed_device_id=managed_device_id,
                                                         device_compliance_policy_state_id=device_compliance_policy_state_id,
                                                         body=body)


def devicescorpmgt_usersmanageddevice_update_device_configuration_state(client,
                                                                        user_id,
                                                                        managed_device_id,
                                                                        device_configuration_state_id,
                                                                        id_=None,
                                                                        display_name=None,
                                                                        platform_type=None,
                                                                        setting_count=None,
                                                                        setting_states=None,
                                                                        state=None,
                                                                        version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if platform_type is not None:
        body['platform_type'] = platform_type
    if setting_count is not None:
        body['setting_count'] = setting_count
    if setting_states is not None:
        body['setting_states'] = setting_states
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.update_device_configuration_states(user_id=user_id,
                                                     managed_device_id=managed_device_id,
                                                     device_configuration_state_id=device_configuration_state_id,
                                                     body=body)

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


def devicescorpmgt_deviceappmanagementdeviceappmanagement_show_device_app_management(client,
                                                                                     select=None,
                                                                                     expand=None):
    return client.get_device_app_management(select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagementdeviceappmanagement_update_device_app_management(client,
                                                                                       id_=None,
                                                                                       is_enabled_for_microsoft_store_for_business=None,
                                                                                       microsoft_store_for_business_language=None,
                                                                                       microsoft_store_for_business_last_completed_application_sync_time=None,
                                                                                       microsoft_store_for_business_last_successful_sync_date_time=None,
                                                                                       managed_e_books=None,
                                                                                       mobile_app_categories=None,
                                                                                       mobile_app_configurations=None,
                                                                                       mobile_apps=None,
                                                                                       vpp_tokens=None,
                                                                                       android_managed_app_protections=None,
                                                                                       default_managed_app_protections=None,
                                                                                       ios_managed_app_protections=None,
                                                                                       managed_app_policies=None,
                                                                                       managed_app_registrations=None,
                                                                                       managed_app_statuses=None,
                                                                                       mdm_windows_information_protection_policies=None,
                                                                                       targeted_managed_app_configurations=None,
                                                                                       windows_information_protection_policies=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if is_enabled_for_microsoft_store_for_business is not None:
        body['is_enabled_for_microsoft_store_for_business'] = is_enabled_for_microsoft_store_for_business
    if microsoft_store_for_business_language is not None:
        body['microsoft_store_for_business_language'] = microsoft_store_for_business_language
    if microsoft_store_for_business_last_completed_application_sync_time is not None:
        body['microsoft_store_for_business_last_completed_application_sync_time'] = microsoft_store_for_business_last_completed_application_sync_time
    if microsoft_store_for_business_last_successful_sync_date_time is not None:
        body['microsoft_store_for_business_last_successful_sync_date_time'] = microsoft_store_for_business_last_successful_sync_date_time
    if managed_e_books is not None:
        body['managed_e_books'] = managed_e_books
    if mobile_app_categories is not None:
        body['mobile_app_categories'] = mobile_app_categories
    if mobile_app_configurations is not None:
        body['mobile_app_configurations'] = mobile_app_configurations
    if mobile_apps is not None:
        body['mobile_apps'] = mobile_apps
    if vpp_tokens is not None:
        body['vpp_tokens'] = vpp_tokens
    if android_managed_app_protections is not None:
        body['android_managed_app_protections'] = android_managed_app_protections
    if default_managed_app_protections is not None:
        body['default_managed_app_protections'] = default_managed_app_protections
    if ios_managed_app_protections is not None:
        body['ios_managed_app_protections'] = ios_managed_app_protections
    if managed_app_policies is not None:
        body['managed_app_policies'] = managed_app_policies
    if managed_app_registrations is not None:
        body['managed_app_registrations'] = managed_app_registrations
    if managed_app_statuses is not None:
        body['managed_app_statuses'] = managed_app_statuses
    if mdm_windows_information_protection_policies is not None:
        body['mdm_windows_information_protection_policies'] = mdm_windows_information_protection_policies
    if targeted_managed_app_configurations is not None:
        body['targeted_managed_app_configurations'] = targeted_managed_app_configurations
    if windows_information_protection_policies is not None:
        body['windows_information_protection_policies'] = windows_information_protection_policies
    return client.update_device_app_management(body=body)


def devicescorpmgt_deviceappmanagement_create_android_managed_app_protection(client,
                                                                             body):
    return client.create_android_managed_app_protections(body=body)


def devicescorpmgt_deviceappmanagement_create_default_managed_app_protection(client,
                                                                             body):
    return client.create_default_managed_app_protections(body=body)


def devicescorpmgt_deviceappmanagement_create_io_managed_app_protection(client,
                                                                        body):
    return client.create_ios_managed_app_protections(body=body)


def devicescorpmgt_deviceappmanagement_create_managed_app_policy(client,
                                                                 id_=None,
                                                                 created_date_time=None,
                                                                 description=None,
                                                                 display_name=None,
                                                                 last_modified_date_time=None,
                                                                 version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.create_managed_app_policies(body=body)


def devicescorpmgt_deviceappmanagement_create_managed_app_registration(client,
                                                                       id_=None,
                                                                       app_identifier=None,
                                                                       application_version=None,
                                                                       created_date_time=None,
                                                                       device_name=None,
                                                                       device_tag=None,
                                                                       device_type=None,
                                                                       flagged_reasons=None,
                                                                       last_sync_date_time=None,
                                                                       management_sdk_version=None,
                                                                       platform_version=None,
                                                                       user_id=None,
                                                                       version=None,
                                                                       applied_policies=None,
                                                                       intended_policies=None,
                                                                       operations=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if app_identifier is not None:
        body['app_identifier'] = app_identifier
    if application_version is not None:
        body['application_version'] = application_version
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if device_name is not None:
        body['device_name'] = device_name
    if device_tag is not None:
        body['device_tag'] = device_tag
    if device_type is not None:
        body['device_type'] = device_type
    if flagged_reasons is not None:
        body['flagged_reasons'] = flagged_reasons
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if management_sdk_version is not None:
        body['management_sdk_version'] = management_sdk_version
    if platform_version is not None:
        body['platform_version'] = platform_version
    if user_id is not None:
        body['user_id'] = user_id
    if version is not None:
        body['version'] = version
    if applied_policies is not None:
        body['applied_policies'] = applied_policies
    if intended_policies is not None:
        body['intended_policies'] = intended_policies
    if operations is not None:
        body['operations'] = operations
    return client.create_managed_app_registrations(body=body)


def devicescorpmgt_deviceappmanagement_create_managed_app_statuses(client,
                                                                   id_=None,
                                                                   display_name=None,
                                                                   version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if version is not None:
        body['version'] = version
    return client.create_managed_app_statuses(body=body)


def devicescorpmgt_deviceappmanagement_create_managed_e_book(client,
                                                             id_=None,
                                                             created_date_time=None,
                                                             description=None,
                                                             display_name=None,
                                                             information_url=None,
                                                             large_cover=None,
                                                             last_modified_date_time=None,
                                                             privacy_information_url=None,
                                                             published_date_time=None,
                                                             publisher=None,
                                                             assignments=None,
                                                             device_states=None,
                                                             install_summary=None,
                                                             user_state_summary=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if information_url is not None:
        body['information_url'] = information_url
    if large_cover is not None:
        body['large_cover'] = large_cover
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if privacy_information_url is not None:
        body['privacy_information_url'] = privacy_information_url
    if published_date_time is not None:
        body['published_date_time'] = published_date_time
    if publisher is not None:
        body['publisher'] = publisher
    if assignments is not None:
        body['assignments'] = assignments
    if device_states is not None:
        body['device_states'] = device_states
    if install_summary is not None:
        body['install_summary'] = install_summary
    if user_state_summary is not None:
        body['user_state_summary'] = user_state_summary
    return client.create_managed_e_books(body=body)


def devicescorpmgt_deviceappmanagement_create_mdm_window_information_protection_policy(client,
                                                                                       id_=None,
                                                                                       created_date_time=None,
                                                                                       description=None,
                                                                                       display_name=None,
                                                                                       last_modified_date_time=None,
                                                                                       version=None,
                                                                                       azure_rights_management_services_allowed=None,
                                                                                       data_recovery_certificate=None,
                                                                                       enforcement_level=None,
                                                                                       enterprise_domain=None,
                                                                                       enterprise_internal_proxy_servers=None,
                                                                                       enterprise_ip_ranges=None,
                                                                                       enterprise_ip_ranges_are_authoritative=None,
                                                                                       enterprise_network_domain_names=None,
                                                                                       enterprise_protected_domain_names=None,
                                                                                       enterprise_proxied_domains=None,
                                                                                       enterprise_proxy_servers=None,
                                                                                       enterprise_proxy_servers_are_authoritative=None,
                                                                                       exempt_apps=None,
                                                                                       icons_visible=None,
                                                                                       indexing_encrypted_stores_or_items_blocked=None,
                                                                                       is_assigned=None,
                                                                                       neutral_domain_resources=None,
                                                                                       protected_apps=None,
                                                                                       protection_under_lock_config_required=None,
                                                                                       revoke_on_unenroll_disabled=None,
                                                                                       rights_management_services_template_id=None,
                                                                                       smb_auto_encrypted_file_extensions=None,
                                                                                       assignments=None,
                                                                                       exempt_app_locker_files=None,
                                                                                       protected_app_locker_files=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if azure_rights_management_services_allowed is not None:
        body['azure_rights_management_services_allowed'] = azure_rights_management_services_allowed
    if data_recovery_certificate is not None:
        body['data_recovery_certificate'] = data_recovery_certificate
    if enforcement_level is not None:
        body['enforcement_level'] = enforcement_level
    if enterprise_domain is not None:
        body['enterprise_domain'] = enterprise_domain
    if enterprise_internal_proxy_servers is not None:
        body['enterprise_internal_proxy_servers'] = enterprise_internal_proxy_servers
    if enterprise_ip_ranges is not None:
        body['enterprise_ip_ranges'] = enterprise_ip_ranges
    if enterprise_ip_ranges_are_authoritative is not None:
        body['enterprise_ip_ranges_are_authoritative'] = enterprise_ip_ranges_are_authoritative
    if enterprise_network_domain_names is not None:
        body['enterprise_network_domain_names'] = enterprise_network_domain_names
    if enterprise_protected_domain_names is not None:
        body['enterprise_protected_domain_names'] = enterprise_protected_domain_names
    if enterprise_proxied_domains is not None:
        body['enterprise_proxied_domains'] = enterprise_proxied_domains
    if enterprise_proxy_servers is not None:
        body['enterprise_proxy_servers'] = enterprise_proxy_servers
    if enterprise_proxy_servers_are_authoritative is not None:
        body['enterprise_proxy_servers_are_authoritative'] = enterprise_proxy_servers_are_authoritative
    if exempt_apps is not None:
        body['exempt_apps'] = exempt_apps
    if icons_visible is not None:
        body['icons_visible'] = icons_visible
    if indexing_encrypted_stores_or_items_blocked is not None:
        body['indexing_encrypted_stores_or_items_blocked'] = indexing_encrypted_stores_or_items_blocked
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if neutral_domain_resources is not None:
        body['neutral_domain_resources'] = neutral_domain_resources
    if protected_apps is not None:
        body['protected_apps'] = protected_apps
    if protection_under_lock_config_required is not None:
        body['protection_under_lock_config_required'] = protection_under_lock_config_required
    if revoke_on_unenroll_disabled is not None:
        body['revoke_on_unenroll_disabled'] = revoke_on_unenroll_disabled
    if rights_management_services_template_id is not None:
        body['rights_management_services_template_id'] = rights_management_services_template_id
    if smb_auto_encrypted_file_extensions is not None:
        body['smb_auto_encrypted_file_extensions'] = smb_auto_encrypted_file_extensions
    if assignments is not None:
        body['assignments'] = assignments
    if exempt_app_locker_files is not None:
        body['exempt_app_locker_files'] = exempt_app_locker_files
    if protected_app_locker_files is not None:
        body['protected_app_locker_files'] = protected_app_locker_files
    return client.create_mdm_windows_information_protection_policies(body=body)


def devicescorpmgt_deviceappmanagement_create_mobile_app(client,
                                                         id_=None,
                                                         created_date_time=None,
                                                         description=None,
                                                         developer=None,
                                                         display_name=None,
                                                         information_url=None,
                                                         is_featured=None,
                                                         large_icon=None,
                                                         last_modified_date_time=None,
                                                         notes=None,
                                                         owner=None,
                                                         privacy_information_url=None,
                                                         publisher=None,
                                                         publishing_state=None,
                                                         assignments=None,
                                                         categories=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if developer is not None:
        body['developer'] = developer
    if display_name is not None:
        body['display_name'] = display_name
    if information_url is not None:
        body['information_url'] = information_url
    if is_featured is not None:
        body['is_featured'] = is_featured
    if large_icon is not None:
        body['large_icon'] = large_icon
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if notes is not None:
        body['notes'] = notes
    if owner is not None:
        body['owner'] = owner
    if privacy_information_url is not None:
        body['privacy_information_url'] = privacy_information_url
    if publisher is not None:
        body['publisher'] = publisher
    if publishing_state is not None:
        body['publishing_state'] = publishing_state
    if assignments is not None:
        body['assignments'] = assignments
    if categories is not None:
        body['categories'] = categories
    return client.create_mobile_apps(body=body)


def devicescorpmgt_deviceappmanagement_create_mobile_app_category(client,
                                                                  id_=None,
                                                                  display_name=None,
                                                                  last_modified_date_time=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    return client.create_mobile_app_categories(body=body)


def devicescorpmgt_deviceappmanagement_create_mobile_app_configuration(client,
                                                                       id_=None,
                                                                       created_date_time=None,
                                                                       description=None,
                                                                       display_name=None,
                                                                       last_modified_date_time=None,
                                                                       targeted_mobile_apps=None,
                                                                       version=None,
                                                                       assignments=None,
                                                                       device_statuses=None,
                                                                       device_status_summary=None,
                                                                       user_statuses=None,
                                                                       user_status_summary=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if targeted_mobile_apps is not None:
        body['targeted_mobile_apps'] = targeted_mobile_apps
    if version is not None:
        body['version'] = version
    if assignments is not None:
        body['assignments'] = assignments
    if device_statuses is not None:
        body['device_statuses'] = device_statuses
    if device_status_summary is not None:
        body['device_status_summary'] = device_status_summary
    if user_statuses is not None:
        body['user_statuses'] = user_statuses
    if user_status_summary is not None:
        body['user_status_summary'] = user_status_summary
    return client.create_mobile_app_configurations(body=body)


def devicescorpmgt_deviceappmanagement_create_targeted_managed_app_configuration(client,
                                                                                 id_=None,
                                                                                 created_date_time=None,
                                                                                 description=None,
                                                                                 display_name=None,
                                                                                 last_modified_date_time=None,
                                                                                 version=None,
                                                                                 custom_settings=None,
                                                                                 deployed_app_count=None,
                                                                                 is_assigned=None,
                                                                                 apps=None,
                                                                                 assignments=None,
                                                                                 microsoft_graph_entity_id=None,
                                                                                 configuration_deployed_user_count=None,
                                                                                 configuration_deployment_summary_per_app=None,
                                                                                 microsoft_graph_managed_app_policy_deployment_summary_display_name=None,
                                                                                 last_refresh_time=None,
                                                                                 microsoft_graph_managed_app_policy_deployment_summary_version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if custom_settings is not None:
        body['custom_settings'] = custom_settings
    if deployed_app_count is not None:
        body['deployed_app_count'] = deployed_app_count
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if apps is not None:
        body['apps'] = apps
    if assignments is not None:
        body['assignments'] = assignments
    body['deployment_summary'] = {}
    if microsoft_graph_entity_id is not None:
        body['deployment_summary']['id'] = microsoft_graph_entity_id
    if configuration_deployed_user_count is not None:
        body['deployment_summary']['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['deployment_summary']['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if microsoft_graph_managed_app_policy_deployment_summary_display_name is not None:
        body['deployment_summary']['display_name'] = microsoft_graph_managed_app_policy_deployment_summary_display_name
    if last_refresh_time is not None:
        body['deployment_summary']['last_refresh_time'] = last_refresh_time
    if microsoft_graph_managed_app_policy_deployment_summary_version is not None:
        body['deployment_summary']['version'] = microsoft_graph_managed_app_policy_deployment_summary_version
    if len(body['deployment_summary']) == 0:
        del body['deployment_summary']
    return client.create_targeted_managed_app_configurations(body=body)


def devicescorpmgt_deviceappmanagement_create_vpp_token(client,
                                                        id_=None,
                                                        apple_id=None,
                                                        automatically_update_apps=None,
                                                        country_or_region=None,
                                                        expiration_date_time=None,
                                                        last_modified_date_time=None,
                                                        last_sync_date_time=None,
                                                        last_sync_status=None,
                                                        organization_name=None,
                                                        state=None,
                                                        token=None,
                                                        vpp_token_account_type=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if apple_id is not None:
        body['apple_id'] = apple_id
    if automatically_update_apps is not None:
        body['automatically_update_apps'] = automatically_update_apps
    if country_or_region is not None:
        body['country_or_region'] = country_or_region
    if expiration_date_time is not None:
        body['expiration_date_time'] = expiration_date_time
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if last_sync_status is not None:
        body['last_sync_status'] = last_sync_status
    if organization_name is not None:
        body['organization_name'] = organization_name
    if state is not None:
        body['state'] = state
    if token is not None:
        body['token'] = token
    if vpp_token_account_type is not None:
        body['vpp_token_account_type'] = vpp_token_account_type
    return client.create_vpp_tokens(body=body)


def devicescorpmgt_deviceappmanagement_create_window_information_protection_policy(client,
                                                                                   id_=None,
                                                                                   created_date_time=None,
                                                                                   description=None,
                                                                                   display_name=None,
                                                                                   last_modified_date_time=None,
                                                                                   version=None,
                                                                                   azure_rights_management_services_allowed=None,
                                                                                   data_recovery_certificate=None,
                                                                                   enforcement_level=None,
                                                                                   enterprise_domain=None,
                                                                                   enterprise_internal_proxy_servers=None,
                                                                                   enterprise_ip_ranges=None,
                                                                                   enterprise_ip_ranges_are_authoritative=None,
                                                                                   enterprise_network_domain_names=None,
                                                                                   enterprise_protected_domain_names=None,
                                                                                   enterprise_proxied_domains=None,
                                                                                   enterprise_proxy_servers=None,
                                                                                   enterprise_proxy_servers_are_authoritative=None,
                                                                                   exempt_apps=None,
                                                                                   icons_visible=None,
                                                                                   indexing_encrypted_stores_or_items_blocked=None,
                                                                                   is_assigned=None,
                                                                                   neutral_domain_resources=None,
                                                                                   protected_apps=None,
                                                                                   protection_under_lock_config_required=None,
                                                                                   revoke_on_unenroll_disabled=None,
                                                                                   rights_management_services_template_id=None,
                                                                                   smb_auto_encrypted_file_extensions=None,
                                                                                   assignments=None,
                                                                                   exempt_app_locker_files=None,
                                                                                   protected_app_locker_files=None,
                                                                                   days_without_contact_before_unenroll=None,
                                                                                   mdm_enrollment_url=None,
                                                                                   minutes_of_inactivity_before_device_lock=None,
                                                                                   number_of_past_pins_remembered=None,
                                                                                   password_maximum_attempt_count=None,
                                                                                   pin_expiration_days=None,
                                                                                   pin_lowercase_letters=None,
                                                                                   pin_minimum_length=None,
                                                                                   pin_special_characters=None,
                                                                                   pin_uppercase_letters=None,
                                                                                   revoke_on_mdm_handoff_disabled=None,
                                                                                   windows_hello_for_business_blocked=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if azure_rights_management_services_allowed is not None:
        body['azure_rights_management_services_allowed'] = azure_rights_management_services_allowed
    if data_recovery_certificate is not None:
        body['data_recovery_certificate'] = data_recovery_certificate
    if enforcement_level is not None:
        body['enforcement_level'] = enforcement_level
    if enterprise_domain is not None:
        body['enterprise_domain'] = enterprise_domain
    if enterprise_internal_proxy_servers is not None:
        body['enterprise_internal_proxy_servers'] = enterprise_internal_proxy_servers
    if enterprise_ip_ranges is not None:
        body['enterprise_ip_ranges'] = enterprise_ip_ranges
    if enterprise_ip_ranges_are_authoritative is not None:
        body['enterprise_ip_ranges_are_authoritative'] = enterprise_ip_ranges_are_authoritative
    if enterprise_network_domain_names is not None:
        body['enterprise_network_domain_names'] = enterprise_network_domain_names
    if enterprise_protected_domain_names is not None:
        body['enterprise_protected_domain_names'] = enterprise_protected_domain_names
    if enterprise_proxied_domains is not None:
        body['enterprise_proxied_domains'] = enterprise_proxied_domains
    if enterprise_proxy_servers is not None:
        body['enterprise_proxy_servers'] = enterprise_proxy_servers
    if enterprise_proxy_servers_are_authoritative is not None:
        body['enterprise_proxy_servers_are_authoritative'] = enterprise_proxy_servers_are_authoritative
    if exempt_apps is not None:
        body['exempt_apps'] = exempt_apps
    if icons_visible is not None:
        body['icons_visible'] = icons_visible
    if indexing_encrypted_stores_or_items_blocked is not None:
        body['indexing_encrypted_stores_or_items_blocked'] = indexing_encrypted_stores_or_items_blocked
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if neutral_domain_resources is not None:
        body['neutral_domain_resources'] = neutral_domain_resources
    if protected_apps is not None:
        body['protected_apps'] = protected_apps
    if protection_under_lock_config_required is not None:
        body['protection_under_lock_config_required'] = protection_under_lock_config_required
    if revoke_on_unenroll_disabled is not None:
        body['revoke_on_unenroll_disabled'] = revoke_on_unenroll_disabled
    if rights_management_services_template_id is not None:
        body['rights_management_services_template_id'] = rights_management_services_template_id
    if smb_auto_encrypted_file_extensions is not None:
        body['smb_auto_encrypted_file_extensions'] = smb_auto_encrypted_file_extensions
    if assignments is not None:
        body['assignments'] = assignments
    if exempt_app_locker_files is not None:
        body['exempt_app_locker_files'] = exempt_app_locker_files
    if protected_app_locker_files is not None:
        body['protected_app_locker_files'] = protected_app_locker_files
    if days_without_contact_before_unenroll is not None:
        body['days_without_contact_before_unenroll'] = days_without_contact_before_unenroll
    if mdm_enrollment_url is not None:
        body['mdm_enrollment_url'] = mdm_enrollment_url
    if minutes_of_inactivity_before_device_lock is not None:
        body['minutes_of_inactivity_before_device_lock'] = minutes_of_inactivity_before_device_lock
    if number_of_past_pins_remembered is not None:
        body['number_of_past_pins_remembered'] = number_of_past_pins_remembered
    if password_maximum_attempt_count is not None:
        body['password_maximum_attempt_count'] = password_maximum_attempt_count
    if pin_expiration_days is not None:
        body['pin_expiration_days'] = pin_expiration_days
    if pin_lowercase_letters is not None:
        body['pin_lowercase_letters'] = pin_lowercase_letters
    if pin_minimum_length is not None:
        body['pin_minimum_length'] = pin_minimum_length
    if pin_special_characters is not None:
        body['pin_special_characters'] = pin_special_characters
    if pin_uppercase_letters is not None:
        body['pin_uppercase_letters'] = pin_uppercase_letters
    if revoke_on_mdm_handoff_disabled is not None:
        body['revoke_on_mdm_handoff_disabled'] = revoke_on_mdm_handoff_disabled
    if windows_hello_for_business_blocked is not None:
        body['windows_hello_for_business_blocked'] = windows_hello_for_business_blocked
    return client.create_windows_information_protection_policies(body=body)


def devicescorpmgt_deviceappmanagement_delete_android_managed_app_protection(client,
                                                                             android_managed_app_protection_id,
                                                                             if_match=None):
    return client.delete_android_managed_app_protections(android_managed_app_protection_id=android_managed_app_protection_id,
                                                         if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_default_managed_app_protection(client,
                                                                             default_managed_app_protection_id,
                                                                             if_match=None):
    return client.delete_default_managed_app_protections(default_managed_app_protection_id=default_managed_app_protection_id,
                                                         if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_io_managed_app_protection(client,
                                                                        ios_managed_app_protection_id,
                                                                        if_match=None):
    return client.delete_ios_managed_app_protections(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                                     if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_managed_app_policy(client,
                                                                 managed_app_policy_id,
                                                                 if_match=None):
    return client.delete_managed_app_policies(managed_app_policy_id=managed_app_policy_id,
                                              if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_managed_app_registration(client,
                                                                       managed_app_registration_id,
                                                                       if_match=None):
    return client.delete_managed_app_registrations(managed_app_registration_id=managed_app_registration_id,
                                                   if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_managed_app_statuses(client,
                                                                   managed_app_status_id,
                                                                   if_match=None):
    return client.delete_managed_app_statuses(managed_app_status_id=managed_app_status_id,
                                              if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_managed_e_book(client,
                                                             managed_e_book_id,
                                                             if_match=None):
    return client.delete_managed_e_books(managed_e_book_id=managed_e_book_id,
                                         if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_mdm_window_information_protection_policy(client,
                                                                                       mdm_windows_information_protection_policy_id,
                                                                                       if_match=None):
    return client.delete_mdm_windows_information_protection_policies(mdm_windows_information_protection_policy_id=mdm_windows_information_protection_policy_id,
                                                                     if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_mobile_app(client,
                                                         mobile_app_id,
                                                         if_match=None):
    return client.delete_mobile_apps(mobile_app_id=mobile_app_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_mobile_app_category(client,
                                                                  mobile_app_category_id,
                                                                  if_match=None):
    return client.delete_mobile_app_categories(mobile_app_category_id=mobile_app_category_id,
                                               if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_mobile_app_configuration(client,
                                                                       managed_device_mobile_app_configuration_id,
                                                                       if_match=None):
    return client.delete_mobile_app_configurations(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                                   if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_targeted_managed_app_configuration(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 if_match=None):
    return client.delete_targeted_managed_app_configurations(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                                             if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_vpp_token(client,
                                                        vpp_token_id,
                                                        if_match=None):
    return client.delete_vpp_tokens(vpp_token_id=vpp_token_id,
                                    if_match=if_match)


def devicescorpmgt_deviceappmanagement_delete_window_information_protection_policy(client,
                                                                                   windows_information_protection_policy_id,
                                                                                   if_match=None):
    return client.delete_windows_information_protection_policies(windows_information_protection_policy_id=windows_information_protection_policy_id,
                                                                 if_match=if_match)


def devicescorpmgt_deviceappmanagement_list_android_managed_app_protection(client,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_android_managed_app_protections(orderby=orderby,
                                                       select=select,
                                                       expand=expand)


def devicescorpmgt_deviceappmanagement_list_default_managed_app_protection(client,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_default_managed_app_protections(orderby=orderby,
                                                       select=select,
                                                       expand=expand)


def devicescorpmgt_deviceappmanagement_list_io_managed_app_protection(client,
                                                                      orderby=None,
                                                                      select=None,
                                                                      expand=None):
    return client.list_ios_managed_app_protections(orderby=orderby,
                                                   select=select,
                                                   expand=expand)


def devicescorpmgt_deviceappmanagement_list_managed_app_policy(client,
                                                               orderby=None,
                                                               select=None,
                                                               expand=None):
    return client.list_managed_app_policies(orderby=orderby,
                                            select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagement_list_managed_app_registration(client,
                                                                     orderby=None,
                                                                     select=None,
                                                                     expand=None):
    return client.list_managed_app_registrations(orderby=orderby,
                                                 select=select,
                                                 expand=expand)


def devicescorpmgt_deviceappmanagement_list_managed_app_statuses(client,
                                                                 orderby=None,
                                                                 select=None,
                                                                 expand=None):
    return client.list_managed_app_statuses(orderby=orderby,
                                            select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagement_list_managed_e_book(client,
                                                           orderby=None,
                                                           select=None,
                                                           expand=None):
    return client.list_managed_e_books(orderby=orderby,
                                       select=select,
                                       expand=expand)


def devicescorpmgt_deviceappmanagement_list_mdm_window_information_protection_policy(client,
                                                                                     orderby=None,
                                                                                     select=None,
                                                                                     expand=None):
    return client.list_mdm_windows_information_protection_policies(orderby=orderby,
                                                                   select=select,
                                                                   expand=expand)


def devicescorpmgt_deviceappmanagement_list_mobile_app(client,
                                                       orderby=None,
                                                       select=None,
                                                       expand=None):
    return client.list_mobile_apps(orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagement_list_mobile_app_category(client,
                                                                orderby=None,
                                                                select=None,
                                                                expand=None):
    return client.list_mobile_app_categories(orderby=orderby,
                                             select=select,
                                             expand=expand)


def devicescorpmgt_deviceappmanagement_list_mobile_app_configuration(client,
                                                                     orderby=None,
                                                                     select=None,
                                                                     expand=None):
    return client.list_mobile_app_configurations(orderby=orderby,
                                                 select=select,
                                                 expand=expand)


def devicescorpmgt_deviceappmanagement_list_targeted_managed_app_configuration(client,
                                                                               orderby=None,
                                                                               select=None,
                                                                               expand=None):
    return client.list_targeted_managed_app_configurations(orderby=orderby,
                                                           select=select,
                                                           expand=expand)


def devicescorpmgt_deviceappmanagement_list_vpp_token(client,
                                                      orderby=None,
                                                      select=None,
                                                      expand=None):
    return client.list_vpp_tokens(orderby=orderby,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagement_list_window_information_protection_policy(client,
                                                                                 orderby=None,
                                                                                 select=None,
                                                                                 expand=None):
    return client.list_windows_information_protection_policies(orderby=orderby,
                                                               select=select,
                                                               expand=expand)


def devicescorpmgt_deviceappmanagement_show_android_managed_app_protection(client,
                                                                           android_managed_app_protection_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_android_managed_app_protections(android_managed_app_protection_id=android_managed_app_protection_id,
                                                      select=select,
                                                      expand=expand)


def devicescorpmgt_deviceappmanagement_show_default_managed_app_protection(client,
                                                                           default_managed_app_protection_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_default_managed_app_protections(default_managed_app_protection_id=default_managed_app_protection_id,
                                                      select=select,
                                                      expand=expand)


def devicescorpmgt_deviceappmanagement_show_io_managed_app_protection(client,
                                                                      ios_managed_app_protection_id,
                                                                      select=None,
                                                                      expand=None):
    return client.get_ios_managed_app_protections(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                                  select=select,
                                                  expand=expand)


def devicescorpmgt_deviceappmanagement_show_managed_app_policy(client,
                                                               managed_app_policy_id,
                                                               select=None,
                                                               expand=None):
    return client.get_managed_app_policies(managed_app_policy_id=managed_app_policy_id,
                                           select=select,
                                           expand=expand)


def devicescorpmgt_deviceappmanagement_show_managed_app_registration(client,
                                                                     managed_app_registration_id,
                                                                     select=None,
                                                                     expand=None):
    return client.get_managed_app_registrations(managed_app_registration_id=managed_app_registration_id,
                                                select=select,
                                                expand=expand)


def devicescorpmgt_deviceappmanagement_show_managed_app_statuses(client,
                                                                 managed_app_status_id,
                                                                 select=None,
                                                                 expand=None):
    return client.get_managed_app_statuses(managed_app_status_id=managed_app_status_id,
                                           select=select,
                                           expand=expand)


def devicescorpmgt_deviceappmanagement_show_managed_e_book(client,
                                                           managed_e_book_id,
                                                           select=None,
                                                           expand=None):
    return client.get_managed_e_books(managed_e_book_id=managed_e_book_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_deviceappmanagement_show_mdm_window_information_protection_policy(client,
                                                                                     mdm_windows_information_protection_policy_id,
                                                                                     select=None,
                                                                                     expand=None):
    return client.get_mdm_windows_information_protection_policies(mdm_windows_information_protection_policy_id=mdm_windows_information_protection_policy_id,
                                                                  select=select,
                                                                  expand=expand)


def devicescorpmgt_deviceappmanagement_show_mobile_app(client,
                                                       mobile_app_id,
                                                       select=None,
                                                       expand=None):
    return client.get_mobile_apps(mobile_app_id=mobile_app_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagement_show_mobile_app_category(client,
                                                                mobile_app_category_id,
                                                                select=None,
                                                                expand=None):
    return client.get_mobile_app_categories(mobile_app_category_id=mobile_app_category_id,
                                            select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagement_show_mobile_app_configuration(client,
                                                                     managed_device_mobile_app_configuration_id,
                                                                     select=None,
                                                                     expand=None):
    return client.get_mobile_app_configurations(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                                select=select,
                                                expand=expand)


def devicescorpmgt_deviceappmanagement_show_targeted_managed_app_configuration(client,
                                                                               targeted_managed_app_configuration_id,
                                                                               select=None,
                                                                               expand=None):
    return client.get_targeted_managed_app_configurations(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                                          select=select,
                                                          expand=expand)


def devicescorpmgt_deviceappmanagement_show_vpp_token(client,
                                                      vpp_token_id,
                                                      select=None,
                                                      expand=None):
    return client.get_vpp_tokens(vpp_token_id=vpp_token_id,
                                 select=select,
                                 expand=expand)


def devicescorpmgt_deviceappmanagement_show_window_information_protection_policy(client,
                                                                                 windows_information_protection_policy_id,
                                                                                 select=None,
                                                                                 expand=None):
    return client.get_windows_information_protection_policies(windows_information_protection_policy_id=windows_information_protection_policy_id,
                                                              select=select,
                                                              expand=expand)


def devicescorpmgt_deviceappmanagement_sync_microsoft_store_for_business_app(client):
    return client.sync_microsoft_store_for_business_apps()


def devicescorpmgt_deviceappmanagement_update_android_managed_app_protection(client,
                                                                             android_managed_app_protection_id,
                                                                             body):
    return client.update_android_managed_app_protections(android_managed_app_protection_id=android_managed_app_protection_id,
                                                         body=body)


def devicescorpmgt_deviceappmanagement_update_default_managed_app_protection(client,
                                                                             default_managed_app_protection_id,
                                                                             body):
    return client.update_default_managed_app_protections(default_managed_app_protection_id=default_managed_app_protection_id,
                                                         body=body)


def devicescorpmgt_deviceappmanagement_update_io_managed_app_protection(client,
                                                                        ios_managed_app_protection_id,
                                                                        body):
    return client.update_ios_managed_app_protections(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                                     body=body)


def devicescorpmgt_deviceappmanagement_update_managed_app_policy(client,
                                                                 managed_app_policy_id,
                                                                 id_=None,
                                                                 created_date_time=None,
                                                                 description=None,
                                                                 display_name=None,
                                                                 last_modified_date_time=None,
                                                                 version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.update_managed_app_policies(managed_app_policy_id=managed_app_policy_id,
                                              body=body)


def devicescorpmgt_deviceappmanagement_update_managed_app_registration(client,
                                                                       managed_app_registration_id,
                                                                       id_=None,
                                                                       app_identifier=None,
                                                                       application_version=None,
                                                                       created_date_time=None,
                                                                       device_name=None,
                                                                       device_tag=None,
                                                                       device_type=None,
                                                                       flagged_reasons=None,
                                                                       last_sync_date_time=None,
                                                                       management_sdk_version=None,
                                                                       platform_version=None,
                                                                       user_id=None,
                                                                       version=None,
                                                                       applied_policies=None,
                                                                       intended_policies=None,
                                                                       operations=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if app_identifier is not None:
        body['app_identifier'] = app_identifier
    if application_version is not None:
        body['application_version'] = application_version
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if device_name is not None:
        body['device_name'] = device_name
    if device_tag is not None:
        body['device_tag'] = device_tag
    if device_type is not None:
        body['device_type'] = device_type
    if flagged_reasons is not None:
        body['flagged_reasons'] = flagged_reasons
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if management_sdk_version is not None:
        body['management_sdk_version'] = management_sdk_version
    if platform_version is not None:
        body['platform_version'] = platform_version
    if user_id is not None:
        body['user_id'] = user_id
    if version is not None:
        body['version'] = version
    if applied_policies is not None:
        body['applied_policies'] = applied_policies
    if intended_policies is not None:
        body['intended_policies'] = intended_policies
    if operations is not None:
        body['operations'] = operations
    return client.update_managed_app_registrations(managed_app_registration_id=managed_app_registration_id,
                                                   body=body)


def devicescorpmgt_deviceappmanagement_update_managed_app_statuses(client,
                                                                   managed_app_status_id,
                                                                   id_=None,
                                                                   display_name=None,
                                                                   version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if version is not None:
        body['version'] = version
    return client.update_managed_app_statuses(managed_app_status_id=managed_app_status_id,
                                              body=body)


def devicescorpmgt_deviceappmanagement_update_managed_e_book(client,
                                                             managed_e_book_id,
                                                             id_=None,
                                                             created_date_time=None,
                                                             description=None,
                                                             display_name=None,
                                                             information_url=None,
                                                             large_cover=None,
                                                             last_modified_date_time=None,
                                                             privacy_information_url=None,
                                                             published_date_time=None,
                                                             publisher=None,
                                                             assignments=None,
                                                             device_states=None,
                                                             install_summary=None,
                                                             user_state_summary=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if information_url is not None:
        body['information_url'] = information_url
    if large_cover is not None:
        body['large_cover'] = large_cover
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if privacy_information_url is not None:
        body['privacy_information_url'] = privacy_information_url
    if published_date_time is not None:
        body['published_date_time'] = published_date_time
    if publisher is not None:
        body['publisher'] = publisher
    if assignments is not None:
        body['assignments'] = assignments
    if device_states is not None:
        body['device_states'] = device_states
    if install_summary is not None:
        body['install_summary'] = install_summary
    if user_state_summary is not None:
        body['user_state_summary'] = user_state_summary
    return client.update_managed_e_books(managed_e_book_id=managed_e_book_id,
                                         body=body)


def devicescorpmgt_deviceappmanagement_update_mdm_window_information_protection_policy(client,
                                                                                       mdm_windows_information_protection_policy_id,
                                                                                       id_=None,
                                                                                       created_date_time=None,
                                                                                       description=None,
                                                                                       display_name=None,
                                                                                       last_modified_date_time=None,
                                                                                       version=None,
                                                                                       azure_rights_management_services_allowed=None,
                                                                                       data_recovery_certificate=None,
                                                                                       enforcement_level=None,
                                                                                       enterprise_domain=None,
                                                                                       enterprise_internal_proxy_servers=None,
                                                                                       enterprise_ip_ranges=None,
                                                                                       enterprise_ip_ranges_are_authoritative=None,
                                                                                       enterprise_network_domain_names=None,
                                                                                       enterprise_protected_domain_names=None,
                                                                                       enterprise_proxied_domains=None,
                                                                                       enterprise_proxy_servers=None,
                                                                                       enterprise_proxy_servers_are_authoritative=None,
                                                                                       exempt_apps=None,
                                                                                       icons_visible=None,
                                                                                       indexing_encrypted_stores_or_items_blocked=None,
                                                                                       is_assigned=None,
                                                                                       neutral_domain_resources=None,
                                                                                       protected_apps=None,
                                                                                       protection_under_lock_config_required=None,
                                                                                       revoke_on_unenroll_disabled=None,
                                                                                       rights_management_services_template_id=None,
                                                                                       smb_auto_encrypted_file_extensions=None,
                                                                                       assignments=None,
                                                                                       exempt_app_locker_files=None,
                                                                                       protected_app_locker_files=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if azure_rights_management_services_allowed is not None:
        body['azure_rights_management_services_allowed'] = azure_rights_management_services_allowed
    if data_recovery_certificate is not None:
        body['data_recovery_certificate'] = data_recovery_certificate
    if enforcement_level is not None:
        body['enforcement_level'] = enforcement_level
    if enterprise_domain is not None:
        body['enterprise_domain'] = enterprise_domain
    if enterprise_internal_proxy_servers is not None:
        body['enterprise_internal_proxy_servers'] = enterprise_internal_proxy_servers
    if enterprise_ip_ranges is not None:
        body['enterprise_ip_ranges'] = enterprise_ip_ranges
    if enterprise_ip_ranges_are_authoritative is not None:
        body['enterprise_ip_ranges_are_authoritative'] = enterprise_ip_ranges_are_authoritative
    if enterprise_network_domain_names is not None:
        body['enterprise_network_domain_names'] = enterprise_network_domain_names
    if enterprise_protected_domain_names is not None:
        body['enterprise_protected_domain_names'] = enterprise_protected_domain_names
    if enterprise_proxied_domains is not None:
        body['enterprise_proxied_domains'] = enterprise_proxied_domains
    if enterprise_proxy_servers is not None:
        body['enterprise_proxy_servers'] = enterprise_proxy_servers
    if enterprise_proxy_servers_are_authoritative is not None:
        body['enterprise_proxy_servers_are_authoritative'] = enterprise_proxy_servers_are_authoritative
    if exempt_apps is not None:
        body['exempt_apps'] = exempt_apps
    if icons_visible is not None:
        body['icons_visible'] = icons_visible
    if indexing_encrypted_stores_or_items_blocked is not None:
        body['indexing_encrypted_stores_or_items_blocked'] = indexing_encrypted_stores_or_items_blocked
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if neutral_domain_resources is not None:
        body['neutral_domain_resources'] = neutral_domain_resources
    if protected_apps is not None:
        body['protected_apps'] = protected_apps
    if protection_under_lock_config_required is not None:
        body['protection_under_lock_config_required'] = protection_under_lock_config_required
    if revoke_on_unenroll_disabled is not None:
        body['revoke_on_unenroll_disabled'] = revoke_on_unenroll_disabled
    if rights_management_services_template_id is not None:
        body['rights_management_services_template_id'] = rights_management_services_template_id
    if smb_auto_encrypted_file_extensions is not None:
        body['smb_auto_encrypted_file_extensions'] = smb_auto_encrypted_file_extensions
    if assignments is not None:
        body['assignments'] = assignments
    if exempt_app_locker_files is not None:
        body['exempt_app_locker_files'] = exempt_app_locker_files
    if protected_app_locker_files is not None:
        body['protected_app_locker_files'] = protected_app_locker_files
    return client.update_mdm_windows_information_protection_policies(mdm_windows_information_protection_policy_id=mdm_windows_information_protection_policy_id,
                                                                     body=body)


def devicescorpmgt_deviceappmanagement_update_mobile_app(client,
                                                         mobile_app_id,
                                                         id_=None,
                                                         created_date_time=None,
                                                         description=None,
                                                         developer=None,
                                                         display_name=None,
                                                         information_url=None,
                                                         is_featured=None,
                                                         large_icon=None,
                                                         last_modified_date_time=None,
                                                         notes=None,
                                                         owner=None,
                                                         privacy_information_url=None,
                                                         publisher=None,
                                                         publishing_state=None,
                                                         assignments=None,
                                                         categories=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if developer is not None:
        body['developer'] = developer
    if display_name is not None:
        body['display_name'] = display_name
    if information_url is not None:
        body['information_url'] = information_url
    if is_featured is not None:
        body['is_featured'] = is_featured
    if large_icon is not None:
        body['large_icon'] = large_icon
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if notes is not None:
        body['notes'] = notes
    if owner is not None:
        body['owner'] = owner
    if privacy_information_url is not None:
        body['privacy_information_url'] = privacy_information_url
    if publisher is not None:
        body['publisher'] = publisher
    if publishing_state is not None:
        body['publishing_state'] = publishing_state
    if assignments is not None:
        body['assignments'] = assignments
    if categories is not None:
        body['categories'] = categories
    return client.update_mobile_apps(mobile_app_id=mobile_app_id,
                                     body=body)


def devicescorpmgt_deviceappmanagement_update_mobile_app_category(client,
                                                                  mobile_app_category_id,
                                                                  id_=None,
                                                                  display_name=None,
                                                                  last_modified_date_time=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    return client.update_mobile_app_categories(mobile_app_category_id=mobile_app_category_id,
                                               body=body)


def devicescorpmgt_deviceappmanagement_update_mobile_app_configuration(client,
                                                                       managed_device_mobile_app_configuration_id,
                                                                       id_=None,
                                                                       created_date_time=None,
                                                                       description=None,
                                                                       display_name=None,
                                                                       last_modified_date_time=None,
                                                                       targeted_mobile_apps=None,
                                                                       version=None,
                                                                       assignments=None,
                                                                       device_statuses=None,
                                                                       device_status_summary=None,
                                                                       user_statuses=None,
                                                                       user_status_summary=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if targeted_mobile_apps is not None:
        body['targeted_mobile_apps'] = targeted_mobile_apps
    if version is not None:
        body['version'] = version
    if assignments is not None:
        body['assignments'] = assignments
    if device_statuses is not None:
        body['device_statuses'] = device_statuses
    if device_status_summary is not None:
        body['device_status_summary'] = device_status_summary
    if user_statuses is not None:
        body['user_statuses'] = user_statuses
    if user_status_summary is not None:
        body['user_status_summary'] = user_status_summary
    return client.update_mobile_app_configurations(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                                   body=body)


def devicescorpmgt_deviceappmanagement_update_targeted_managed_app_configuration(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 id_=None,
                                                                                 created_date_time=None,
                                                                                 description=None,
                                                                                 display_name=None,
                                                                                 last_modified_date_time=None,
                                                                                 version=None,
                                                                                 custom_settings=None,
                                                                                 deployed_app_count=None,
                                                                                 is_assigned=None,
                                                                                 apps=None,
                                                                                 assignments=None,
                                                                                 microsoft_graph_entity_id=None,
                                                                                 configuration_deployed_user_count=None,
                                                                                 configuration_deployment_summary_per_app=None,
                                                                                 microsoft_graph_managed_app_policy_deployment_summary_display_name=None,
                                                                                 last_refresh_time=None,
                                                                                 microsoft_graph_managed_app_policy_deployment_summary_version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if custom_settings is not None:
        body['custom_settings'] = custom_settings
    if deployed_app_count is not None:
        body['deployed_app_count'] = deployed_app_count
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if apps is not None:
        body['apps'] = apps
    if assignments is not None:
        body['assignments'] = assignments
    body['deployment_summary'] = {}
    if microsoft_graph_entity_id is not None:
        body['deployment_summary']['id'] = microsoft_graph_entity_id
    if configuration_deployed_user_count is not None:
        body['deployment_summary']['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['deployment_summary']['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if microsoft_graph_managed_app_policy_deployment_summary_display_name is not None:
        body['deployment_summary']['display_name'] = microsoft_graph_managed_app_policy_deployment_summary_display_name
    if last_refresh_time is not None:
        body['deployment_summary']['last_refresh_time'] = last_refresh_time
    if microsoft_graph_managed_app_policy_deployment_summary_version is not None:
        body['deployment_summary']['version'] = microsoft_graph_managed_app_policy_deployment_summary_version
    if len(body['deployment_summary']) == 0:
        del body['deployment_summary']
    return client.update_targeted_managed_app_configurations(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                                             body=body)


def devicescorpmgt_deviceappmanagement_update_vpp_token(client,
                                                        vpp_token_id,
                                                        id_=None,
                                                        apple_id=None,
                                                        automatically_update_apps=None,
                                                        country_or_region=None,
                                                        expiration_date_time=None,
                                                        last_modified_date_time=None,
                                                        last_sync_date_time=None,
                                                        last_sync_status=None,
                                                        organization_name=None,
                                                        state=None,
                                                        token=None,
                                                        vpp_token_account_type=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if apple_id is not None:
        body['apple_id'] = apple_id
    if automatically_update_apps is not None:
        body['automatically_update_apps'] = automatically_update_apps
    if country_or_region is not None:
        body['country_or_region'] = country_or_region
    if expiration_date_time is not None:
        body['expiration_date_time'] = expiration_date_time
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if last_sync_status is not None:
        body['last_sync_status'] = last_sync_status
    if organization_name is not None:
        body['organization_name'] = organization_name
    if state is not None:
        body['state'] = state
    if token is not None:
        body['token'] = token
    if vpp_token_account_type is not None:
        body['vpp_token_account_type'] = vpp_token_account_type
    return client.update_vpp_tokens(vpp_token_id=vpp_token_id,
                                    body=body)


def devicescorpmgt_deviceappmanagement_update_window_information_protection_policy(client,
                                                                                   windows_information_protection_policy_id,
                                                                                   id_=None,
                                                                                   created_date_time=None,
                                                                                   description=None,
                                                                                   display_name=None,
                                                                                   last_modified_date_time=None,
                                                                                   version=None,
                                                                                   azure_rights_management_services_allowed=None,
                                                                                   data_recovery_certificate=None,
                                                                                   enforcement_level=None,
                                                                                   enterprise_domain=None,
                                                                                   enterprise_internal_proxy_servers=None,
                                                                                   enterprise_ip_ranges=None,
                                                                                   enterprise_ip_ranges_are_authoritative=None,
                                                                                   enterprise_network_domain_names=None,
                                                                                   enterprise_protected_domain_names=None,
                                                                                   enterprise_proxied_domains=None,
                                                                                   enterprise_proxy_servers=None,
                                                                                   enterprise_proxy_servers_are_authoritative=None,
                                                                                   exempt_apps=None,
                                                                                   icons_visible=None,
                                                                                   indexing_encrypted_stores_or_items_blocked=None,
                                                                                   is_assigned=None,
                                                                                   neutral_domain_resources=None,
                                                                                   protected_apps=None,
                                                                                   protection_under_lock_config_required=None,
                                                                                   revoke_on_unenroll_disabled=None,
                                                                                   rights_management_services_template_id=None,
                                                                                   smb_auto_encrypted_file_extensions=None,
                                                                                   assignments=None,
                                                                                   exempt_app_locker_files=None,
                                                                                   protected_app_locker_files=None,
                                                                                   days_without_contact_before_unenroll=None,
                                                                                   mdm_enrollment_url=None,
                                                                                   minutes_of_inactivity_before_device_lock=None,
                                                                                   number_of_past_pins_remembered=None,
                                                                                   password_maximum_attempt_count=None,
                                                                                   pin_expiration_days=None,
                                                                                   pin_lowercase_letters=None,
                                                                                   pin_minimum_length=None,
                                                                                   pin_special_characters=None,
                                                                                   pin_uppercase_letters=None,
                                                                                   revoke_on_mdm_handoff_disabled=None,
                                                                                   windows_hello_for_business_blocked=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    if azure_rights_management_services_allowed is not None:
        body['azure_rights_management_services_allowed'] = azure_rights_management_services_allowed
    if data_recovery_certificate is not None:
        body['data_recovery_certificate'] = data_recovery_certificate
    if enforcement_level is not None:
        body['enforcement_level'] = enforcement_level
    if enterprise_domain is not None:
        body['enterprise_domain'] = enterprise_domain
    if enterprise_internal_proxy_servers is not None:
        body['enterprise_internal_proxy_servers'] = enterprise_internal_proxy_servers
    if enterprise_ip_ranges is not None:
        body['enterprise_ip_ranges'] = enterprise_ip_ranges
    if enterprise_ip_ranges_are_authoritative is not None:
        body['enterprise_ip_ranges_are_authoritative'] = enterprise_ip_ranges_are_authoritative
    if enterprise_network_domain_names is not None:
        body['enterprise_network_domain_names'] = enterprise_network_domain_names
    if enterprise_protected_domain_names is not None:
        body['enterprise_protected_domain_names'] = enterprise_protected_domain_names
    if enterprise_proxied_domains is not None:
        body['enterprise_proxied_domains'] = enterprise_proxied_domains
    if enterprise_proxy_servers is not None:
        body['enterprise_proxy_servers'] = enterprise_proxy_servers
    if enterprise_proxy_servers_are_authoritative is not None:
        body['enterprise_proxy_servers_are_authoritative'] = enterprise_proxy_servers_are_authoritative
    if exempt_apps is not None:
        body['exempt_apps'] = exempt_apps
    if icons_visible is not None:
        body['icons_visible'] = icons_visible
    if indexing_encrypted_stores_or_items_blocked is not None:
        body['indexing_encrypted_stores_or_items_blocked'] = indexing_encrypted_stores_or_items_blocked
    if is_assigned is not None:
        body['is_assigned'] = is_assigned
    if neutral_domain_resources is not None:
        body['neutral_domain_resources'] = neutral_domain_resources
    if protected_apps is not None:
        body['protected_apps'] = protected_apps
    if protection_under_lock_config_required is not None:
        body['protection_under_lock_config_required'] = protection_under_lock_config_required
    if revoke_on_unenroll_disabled is not None:
        body['revoke_on_unenroll_disabled'] = revoke_on_unenroll_disabled
    if rights_management_services_template_id is not None:
        body['rights_management_services_template_id'] = rights_management_services_template_id
    if smb_auto_encrypted_file_extensions is not None:
        body['smb_auto_encrypted_file_extensions'] = smb_auto_encrypted_file_extensions
    if assignments is not None:
        body['assignments'] = assignments
    if exempt_app_locker_files is not None:
        body['exempt_app_locker_files'] = exempt_app_locker_files
    if protected_app_locker_files is not None:
        body['protected_app_locker_files'] = protected_app_locker_files
    if days_without_contact_before_unenroll is not None:
        body['days_without_contact_before_unenroll'] = days_without_contact_before_unenroll
    if mdm_enrollment_url is not None:
        body['mdm_enrollment_url'] = mdm_enrollment_url
    if minutes_of_inactivity_before_device_lock is not None:
        body['minutes_of_inactivity_before_device_lock'] = minutes_of_inactivity_before_device_lock
    if number_of_past_pins_remembered is not None:
        body['number_of_past_pins_remembered'] = number_of_past_pins_remembered
    if password_maximum_attempt_count is not None:
        body['password_maximum_attempt_count'] = password_maximum_attempt_count
    if pin_expiration_days is not None:
        body['pin_expiration_days'] = pin_expiration_days
    if pin_lowercase_letters is not None:
        body['pin_lowercase_letters'] = pin_lowercase_letters
    if pin_minimum_length is not None:
        body['pin_minimum_length'] = pin_minimum_length
    if pin_special_characters is not None:
        body['pin_special_characters'] = pin_special_characters
    if pin_uppercase_letters is not None:
        body['pin_uppercase_letters'] = pin_uppercase_letters
    if revoke_on_mdm_handoff_disabled is not None:
        body['revoke_on_mdm_handoff_disabled'] = revoke_on_mdm_handoff_disabled
    if windows_hello_for_business_blocked is not None:
        body['windows_hello_for_business_blocked'] = windows_hello_for_business_blocked
    return client.update_windows_information_protection_policies(windows_information_protection_policy_id=windows_information_protection_policy_id,
                                                                 body=body)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_create_app(client,
                                                                             android_managed_app_protection_id,
                                                                             id_=None,
                                                                             mobile_app_identifier=None,
                                                                             version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.create_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                              body=body)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_delete_app(client,
                                                                             android_managed_app_protection_id,
                                                                             managed_mobile_app_id,
                                                                             if_match=None):
    return client.delete_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              if_match=if_match)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_delete_deployment_summary(client,
                                                                                            android_managed_app_protection_id,
                                                                                            if_match=None):
    return client.delete_deployment_summary(android_managed_app_protection_id=android_managed_app_protection_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_list_app(client,
                                                                           android_managed_app_protection_id,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                            orderby=orderby,
                            select=select,
                            expand=expand)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_show_app(client,
                                                                           android_managed_app_protection_id,
                                                                           managed_mobile_app_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                           managed_mobile_app_id=managed_mobile_app_id,
                           select=select,
                           expand=expand)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_show_deployment_summary(client,
                                                                                          android_managed_app_protection_id,
                                                                                          select=None,
                                                                                          expand=None):
    return client.get_deployment_summary(android_managed_app_protection_id=android_managed_app_protection_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_update_app(client,
                                                                             android_managed_app_protection_id,
                                                                             managed_mobile_app_id,
                                                                             id_=None,
                                                                             mobile_app_identifier=None,
                                                                             version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.update_apps(android_managed_app_protection_id=android_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              body=body)


def devicescorpmgt_deviceappmanagementandroidmanagedappprotection_update_deployment_summary(client,
                                                                                            android_managed_app_protection_id,
                                                                                            id_=None,
                                                                                            configuration_deployed_user_count=None,
                                                                                            configuration_deployment_summary_per_app=None,
                                                                                            display_name=None,
                                                                                            last_refresh_time=None,
                                                                                            version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_deployed_user_count is not None:
        body['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if display_name is not None:
        body['display_name'] = display_name
    if last_refresh_time is not None:
        body['last_refresh_time'] = last_refresh_time
    if version is not None:
        body['version'] = version
    return client.update_deployment_summary(android_managed_app_protection_id=android_managed_app_protection_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_create_app(client,
                                                                             default_managed_app_protection_id,
                                                                             id_=None,
                                                                             mobile_app_identifier=None,
                                                                             version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.create_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                              body=body)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_delete_app(client,
                                                                             default_managed_app_protection_id,
                                                                             managed_mobile_app_id,
                                                                             if_match=None):
    return client.delete_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              if_match=if_match)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_delete_deployment_summary(client,
                                                                                            default_managed_app_protection_id,
                                                                                            if_match=None):
    return client.delete_deployment_summary(default_managed_app_protection_id=default_managed_app_protection_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_list_app(client,
                                                                           default_managed_app_protection_id,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                            orderby=orderby,
                            select=select,
                            expand=expand)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_show_app(client,
                                                                           default_managed_app_protection_id,
                                                                           managed_mobile_app_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                           managed_mobile_app_id=managed_mobile_app_id,
                           select=select,
                           expand=expand)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_show_deployment_summary(client,
                                                                                          default_managed_app_protection_id,
                                                                                          select=None,
                                                                                          expand=None):
    return client.get_deployment_summary(default_managed_app_protection_id=default_managed_app_protection_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_update_app(client,
                                                                             default_managed_app_protection_id,
                                                                             managed_mobile_app_id,
                                                                             id_=None,
                                                                             mobile_app_identifier=None,
                                                                             version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.update_apps(default_managed_app_protection_id=default_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              body=body)


def devicescorpmgt_deviceappmanagementdefaultmanagedappprotection_update_deployment_summary(client,
                                                                                            default_managed_app_protection_id,
                                                                                            id_=None,
                                                                                            configuration_deployed_user_count=None,
                                                                                            configuration_deployment_summary_per_app=None,
                                                                                            display_name=None,
                                                                                            last_refresh_time=None,
                                                                                            version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_deployed_user_count is not None:
        body['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if display_name is not None:
        body['display_name'] = display_name
    if last_refresh_time is not None:
        body['last_refresh_time'] = last_refresh_time
    if version is not None:
        body['version'] = version
    return client.update_deployment_summary(default_managed_app_protection_id=default_managed_app_protection_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_create_app(client,
                                                                         ios_managed_app_protection_id,
                                                                         id_=None,
                                                                         mobile_app_identifier=None,
                                                                         version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.create_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                              body=body)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_delete_app(client,
                                                                         ios_managed_app_protection_id,
                                                                         managed_mobile_app_id,
                                                                         if_match=None):
    return client.delete_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              if_match=if_match)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_delete_deployment_summary(client,
                                                                                        ios_managed_app_protection_id,
                                                                                        if_match=None):
    return client.delete_deployment_summary(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_list_app(client,
                                                                       ios_managed_app_protection_id,
                                                                       orderby=None,
                                                                       select=None,
                                                                       expand=None):
    return client.list_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                            orderby=orderby,
                            select=select,
                            expand=expand)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_show_app(client,
                                                                       ios_managed_app_protection_id,
                                                                       managed_mobile_app_id,
                                                                       select=None,
                                                                       expand=None):
    return client.get_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                           managed_mobile_app_id=managed_mobile_app_id,
                           select=select,
                           expand=expand)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_show_deployment_summary(client,
                                                                                      ios_managed_app_protection_id,
                                                                                      select=None,
                                                                                      expand=None):
    return client.get_deployment_summary(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_update_app(client,
                                                                         ios_managed_app_protection_id,
                                                                         managed_mobile_app_id,
                                                                         id_=None,
                                                                         mobile_app_identifier=None,
                                                                         version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.update_apps(ios_managed_app_protection_id=ios_managed_app_protection_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              body=body)


def devicescorpmgt_deviceappmanagementiosmanagedappprotection_update_deployment_summary(client,
                                                                                        ios_managed_app_protection_id,
                                                                                        id_=None,
                                                                                        configuration_deployed_user_count=None,
                                                                                        configuration_deployment_summary_per_app=None,
                                                                                        display_name=None,
                                                                                        last_refresh_time=None,
                                                                                        version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_deployed_user_count is not None:
        body['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if display_name is not None:
        body['display_name'] = display_name
    if last_refresh_time is not None:
        body['last_refresh_time'] = last_refresh_time
    if version is not None:
        body['version'] = version
    return client.update_deployment_summary(ios_managed_app_protection_id=ios_managed_app_protection_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementmanagedapppolicy_target_app(client,
                                                                  managed_app_policy_id,
                                                                  apps=None):
    body = {}
    if apps is not None:
        body['apps'] = apps
    return client.target_apps(managed_app_policy_id=managed_app_policy_id,
                              body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_create_applied_policy(client,
                                                                                   managed_app_registration_id,
                                                                                   id_=None,
                                                                                   created_date_time=None,
                                                                                   description=None,
                                                                                   display_name=None,
                                                                                   last_modified_date_time=None,
                                                                                   version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.create_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                          body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_create_intended_policy(client,
                                                                                    managed_app_registration_id,
                                                                                    id_=None,
                                                                                    created_date_time=None,
                                                                                    description=None,
                                                                                    display_name=None,
                                                                                    last_modified_date_time=None,
                                                                                    version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.create_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                           body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_create_operation(client,
                                                                              managed_app_registration_id,
                                                                              id_=None,
                                                                              display_name=None,
                                                                              last_modified_date_time=None,
                                                                              state=None,
                                                                              version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.create_operations(managed_app_registration_id=managed_app_registration_id,
                                    body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_delete_applied_policy(client,
                                                                                   managed_app_registration_id,
                                                                                   managed_app_policy_id,
                                                                                   if_match=None):
    return client.delete_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                          managed_app_policy_id=managed_app_policy_id,
                                          if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedappregistration_delete_intended_policy(client,
                                                                                    managed_app_registration_id,
                                                                                    managed_app_policy_id,
                                                                                    if_match=None):
    return client.delete_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                           managed_app_policy_id=managed_app_policy_id,
                                           if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedappregistration_delete_operation(client,
                                                                              managed_app_registration_id,
                                                                              managed_app_operation_id,
                                                                              if_match=None):
    return client.delete_operations(managed_app_registration_id=managed_app_registration_id,
                                    managed_app_operation_id=managed_app_operation_id,
                                    if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedappregistration_list_applied_policy(client,
                                                                                 managed_app_registration_id,
                                                                                 orderby=None,
                                                                                 select=None,
                                                                                 expand=None):
    return client.list_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                        orderby=orderby,
                                        select=select,
                                        expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_list_intended_policy(client,
                                                                                  managed_app_registration_id,
                                                                                  orderby=None,
                                                                                  select=None,
                                                                                  expand=None):
    return client.list_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                         orderby=orderby,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_list_operation(client,
                                                                            managed_app_registration_id,
                                                                            orderby=None,
                                                                            select=None,
                                                                            expand=None):
    return client.list_operations(managed_app_registration_id=managed_app_registration_id,
                                  orderby=orderby,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_show_applied_policy(client,
                                                                                 managed_app_registration_id,
                                                                                 managed_app_policy_id,
                                                                                 select=None,
                                                                                 expand=None):
    return client.get_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                       managed_app_policy_id=managed_app_policy_id,
                                       select=select,
                                       expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_show_intended_policy(client,
                                                                                  managed_app_registration_id,
                                                                                  managed_app_policy_id,
                                                                                  select=None,
                                                                                  expand=None):
    return client.get_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                        managed_app_policy_id=managed_app_policy_id,
                                        select=select,
                                        expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_show_operation(client,
                                                                            managed_app_registration_id,
                                                                            managed_app_operation_id,
                                                                            select=None,
                                                                            expand=None):
    return client.get_operations(managed_app_registration_id=managed_app_registration_id,
                                 managed_app_operation_id=managed_app_operation_id,
                                 select=select,
                                 expand=expand)


def devicescorpmgt_deviceappmanagementmanagedappregistration_show_user_id_with_flagged_app_registration(client):
    return client.get_user_ids_with_flagged_app_registration()


def devicescorpmgt_deviceappmanagementmanagedappregistration_update_applied_policy(client,
                                                                                   managed_app_registration_id,
                                                                                   managed_app_policy_id,
                                                                                   id_=None,
                                                                                   created_date_time=None,
                                                                                   description=None,
                                                                                   display_name=None,
                                                                                   last_modified_date_time=None,
                                                                                   version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.update_applied_policies(managed_app_registration_id=managed_app_registration_id,
                                          managed_app_policy_id=managed_app_policy_id,
                                          body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_update_intended_policy(client,
                                                                                    managed_app_registration_id,
                                                                                    managed_app_policy_id,
                                                                                    id_=None,
                                                                                    created_date_time=None,
                                                                                    description=None,
                                                                                    display_name=None,
                                                                                    last_modified_date_time=None,
                                                                                    version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if created_date_time is not None:
        body['created_date_time'] = created_date_time
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if version is not None:
        body['version'] = version
    return client.update_intended_policies(managed_app_registration_id=managed_app_registration_id,
                                           managed_app_policy_id=managed_app_policy_id,
                                           body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistration_update_operation(client,
                                                                              managed_app_registration_id,
                                                                              managed_app_operation_id,
                                                                              id_=None,
                                                                              display_name=None,
                                                                              last_modified_date_time=None,
                                                                              state=None,
                                                                              version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if last_modified_date_time is not None:
        body['last_modified_date_time'] = last_modified_date_time
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.update_operations(managed_app_registration_id=managed_app_registration_id,
                                    managed_app_operation_id=managed_app_operation_id,
                                    body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistrationsappliedpolicy_target_app(client,
                                                                                      managed_app_registration_id,
                                                                                      managed_app_policy_id,
                                                                                      apps=None):
    body = {}
    if apps is not None:
        body['apps'] = apps
    return client.target_apps(managed_app_registration_id=managed_app_registration_id,
                              managed_app_policy_id=managed_app_policy_id,
                              body=body)


def devicescorpmgt_deviceappmanagementmanagedappregistrationsintendedpolicy_target_app(client,
                                                                                       managed_app_registration_id,
                                                                                       managed_app_policy_id,
                                                                                       apps=None):
    body = {}
    if apps is not None:
        body['apps'] = apps
    return client.target_apps(managed_app_registration_id=managed_app_registration_id,
                              managed_app_policy_id=managed_app_policy_id,
                              body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_assign(client,
                                                          managed_e_book_id,
                                                          managed_e_book_assignments=None):
    body = {}
    if managed_e_book_assignments is not None:
        body['managed_e_book_assignments'] = managed_e_book_assignments
    return client.assign(managed_e_book_id=managed_e_book_id,
                         body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_create_assignment(client,
                                                                     managed_e_book_id,
                                                                     id_=None,
                                                                     install_intent=None,
                                                                     target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if install_intent is not None:
        body['install_intent'] = install_intent
    if target is not None:
        body['target'] = target
    return client.create_assignments(managed_e_book_id=managed_e_book_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_create_device_state(client,
                                                                       managed_e_book_id,
                                                                       id_=None,
                                                                       device_id=None,
                                                                       device_name=None,
                                                                       error_code=None,
                                                                       install_state=None,
                                                                       last_sync_date_time=None,
                                                                       os_description=None,
                                                                       os_version=None,
                                                                       user_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if device_id is not None:
        body['device_id'] = device_id
    if device_name is not None:
        body['device_name'] = device_name
    if error_code is not None:
        body['error_code'] = error_code
    if install_state is not None:
        body['install_state'] = install_state
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if os_description is not None:
        body['os_description'] = os_description
    if os_version is not None:
        body['os_version'] = os_version
    if user_name is not None:
        body['user_name'] = user_name
    return client.create_device_states(managed_e_book_id=managed_e_book_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_create_user_state_summary(client,
                                                                             managed_e_book_id,
                                                                             id_=None,
                                                                             failed_device_count=None,
                                                                             installed_device_count=None,
                                                                             not_installed_device_count=None,
                                                                             user_name=None,
                                                                             device_states=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if failed_device_count is not None:
        body['failed_device_count'] = failed_device_count
    if installed_device_count is not None:
        body['installed_device_count'] = installed_device_count
    if not_installed_device_count is not None:
        body['not_installed_device_count'] = not_installed_device_count
    if user_name is not None:
        body['user_name'] = user_name
    if device_states is not None:
        body['device_states'] = device_states
    return client.create_user_state_summary(managed_e_book_id=managed_e_book_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_delete_assignment(client,
                                                                     managed_e_book_id,
                                                                     managed_e_book_assignment_id,
                                                                     if_match=None):
    return client.delete_assignments(managed_e_book_id=managed_e_book_id,
                                     managed_e_book_assignment_id=managed_e_book_assignment_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebook_delete_device_state(client,
                                                                       managed_e_book_id,
                                                                       device_install_state_id,
                                                                       if_match=None):
    return client.delete_device_states(managed_e_book_id=managed_e_book_id,
                                       device_install_state_id=device_install_state_id,
                                       if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebook_delete_install_summary(client,
                                                                          managed_e_book_id,
                                                                          if_match=None):
    return client.delete_install_summary(managed_e_book_id=managed_e_book_id,
                                         if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebook_delete_user_state_summary(client,
                                                                             managed_e_book_id,
                                                                             user_install_state_summary_id,
                                                                             if_match=None):
    return client.delete_user_state_summary(managed_e_book_id=managed_e_book_id,
                                            user_install_state_summary_id=user_install_state_summary_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebook_list_assignment(client,
                                                                   managed_e_book_id,
                                                                   orderby=None,
                                                                   select=None,
                                                                   expand=None):
    return client.list_assignments(managed_e_book_id=managed_e_book_id,
                                   orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_list_device_state(client,
                                                                     managed_e_book_id,
                                                                     orderby=None,
                                                                     select=None,
                                                                     expand=None):
    return client.list_device_states(managed_e_book_id=managed_e_book_id,
                                     orderby=orderby,
                                     select=select,
                                     expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_list_user_state_summary(client,
                                                                           managed_e_book_id,
                                                                           orderby=None,
                                                                           select=None,
                                                                           expand=None):
    return client.list_user_state_summary(managed_e_book_id=managed_e_book_id,
                                          orderby=orderby,
                                          select=select,
                                          expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_show_assignment(client,
                                                                   managed_e_book_id,
                                                                   managed_e_book_assignment_id,
                                                                   select=None,
                                                                   expand=None):
    return client.get_assignments(managed_e_book_id=managed_e_book_id,
                                  managed_e_book_assignment_id=managed_e_book_assignment_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_show_device_state(client,
                                                                     managed_e_book_id,
                                                                     device_install_state_id,
                                                                     select=None,
                                                                     expand=None):
    return client.get_device_states(managed_e_book_id=managed_e_book_id,
                                    device_install_state_id=device_install_state_id,
                                    select=select,
                                    expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_show_install_summary(client,
                                                                        managed_e_book_id,
                                                                        select=None,
                                                                        expand=None):
    return client.get_install_summary(managed_e_book_id=managed_e_book_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_show_user_state_summary(client,
                                                                           managed_e_book_id,
                                                                           user_install_state_summary_id,
                                                                           select=None,
                                                                           expand=None):
    return client.get_user_state_summary(managed_e_book_id=managed_e_book_id,
                                         user_install_state_summary_id=user_install_state_summary_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebook_update_assignment(client,
                                                                     managed_e_book_id,
                                                                     managed_e_book_assignment_id,
                                                                     id_=None,
                                                                     install_intent=None,
                                                                     target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if install_intent is not None:
        body['install_intent'] = install_intent
    if target is not None:
        body['target'] = target
    return client.update_assignments(managed_e_book_id=managed_e_book_id,
                                     managed_e_book_assignment_id=managed_e_book_assignment_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_update_device_state(client,
                                                                       managed_e_book_id,
                                                                       device_install_state_id,
                                                                       id_=None,
                                                                       device_id=None,
                                                                       device_name=None,
                                                                       error_code=None,
                                                                       install_state=None,
                                                                       last_sync_date_time=None,
                                                                       os_description=None,
                                                                       os_version=None,
                                                                       user_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if device_id is not None:
        body['device_id'] = device_id
    if device_name is not None:
        body['device_name'] = device_name
    if error_code is not None:
        body['error_code'] = error_code
    if install_state is not None:
        body['install_state'] = install_state
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if os_description is not None:
        body['os_description'] = os_description
    if os_version is not None:
        body['os_version'] = os_version
    if user_name is not None:
        body['user_name'] = user_name
    return client.update_device_states(managed_e_book_id=managed_e_book_id,
                                       device_install_state_id=device_install_state_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_update_install_summary(client,
                                                                          managed_e_book_id,
                                                                          id_=None,
                                                                          failed_device_count=None,
                                                                          failed_user_count=None,
                                                                          installed_device_count=None,
                                                                          installed_user_count=None,
                                                                          not_installed_device_count=None,
                                                                          not_installed_user_count=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if failed_device_count is not None:
        body['failed_device_count'] = failed_device_count
    if failed_user_count is not None:
        body['failed_user_count'] = failed_user_count
    if installed_device_count is not None:
        body['installed_device_count'] = installed_device_count
    if installed_user_count is not None:
        body['installed_user_count'] = installed_user_count
    if not_installed_device_count is not None:
        body['not_installed_device_count'] = not_installed_device_count
    if not_installed_user_count is not None:
        body['not_installed_user_count'] = not_installed_user_count
    return client.update_install_summary(managed_e_book_id=managed_e_book_id,
                                         body=body)


def devicescorpmgt_deviceappmanagementmanagedebook_update_user_state_summary(client,
                                                                             managed_e_book_id,
                                                                             user_install_state_summary_id,
                                                                             id_=None,
                                                                             failed_device_count=None,
                                                                             installed_device_count=None,
                                                                             not_installed_device_count=None,
                                                                             user_name=None,
                                                                             device_states=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if failed_device_count is not None:
        body['failed_device_count'] = failed_device_count
    if installed_device_count is not None:
        body['installed_device_count'] = installed_device_count
    if not_installed_device_count is not None:
        body['not_installed_device_count'] = not_installed_device_count
    if user_name is not None:
        body['user_name'] = user_name
    if device_states is not None:
        body['device_states'] = device_states
    return client.update_user_state_summary(managed_e_book_id=managed_e_book_id,
                                            user_install_state_summary_id=user_install_state_summary_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_create_device_state(client,
                                                                                        managed_e_book_id,
                                                                                        user_install_state_summary_id,
                                                                                        id_=None,
                                                                                        device_id=None,
                                                                                        device_name=None,
                                                                                        error_code=None,
                                                                                        install_state=None,
                                                                                        last_sync_date_time=None,
                                                                                        os_description=None,
                                                                                        os_version=None,
                                                                                        user_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if device_id is not None:
        body['device_id'] = device_id
    if device_name is not None:
        body['device_name'] = device_name
    if error_code is not None:
        body['error_code'] = error_code
    if install_state is not None:
        body['install_state'] = install_state
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if os_description is not None:
        body['os_description'] = os_description
    if os_version is not None:
        body['os_version'] = os_version
    if user_name is not None:
        body['user_name'] = user_name
    return client.create_device_states(managed_e_book_id=managed_e_book_id,
                                       user_install_state_summary_id=user_install_state_summary_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_delete_device_state(client,
                                                                                        managed_e_book_id,
                                                                                        user_install_state_summary_id,
                                                                                        device_install_state_id,
                                                                                        if_match=None):
    return client.delete_device_states(managed_e_book_id=managed_e_book_id,
                                       user_install_state_summary_id=user_install_state_summary_id,
                                       device_install_state_id=device_install_state_id,
                                       if_match=if_match)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_list_device_state(client,
                                                                                      managed_e_book_id,
                                                                                      user_install_state_summary_id,
                                                                                      orderby=None,
                                                                                      select=None,
                                                                                      expand=None):
    return client.list_device_states(managed_e_book_id=managed_e_book_id,
                                     user_install_state_summary_id=user_install_state_summary_id,
                                     orderby=orderby,
                                     select=select,
                                     expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_show_device_state(client,
                                                                                      managed_e_book_id,
                                                                                      user_install_state_summary_id,
                                                                                      device_install_state_id,
                                                                                      select=None,
                                                                                      expand=None):
    return client.get_device_states(managed_e_book_id=managed_e_book_id,
                                    user_install_state_summary_id=user_install_state_summary_id,
                                    device_install_state_id=device_install_state_id,
                                    select=select,
                                    expand=expand)


def devicescorpmgt_deviceappmanagementmanagedebooksuserstatesummary_update_device_state(client,
                                                                                        managed_e_book_id,
                                                                                        user_install_state_summary_id,
                                                                                        device_install_state_id,
                                                                                        id_=None,
                                                                                        device_id=None,
                                                                                        device_name=None,
                                                                                        error_code=None,
                                                                                        install_state=None,
                                                                                        last_sync_date_time=None,
                                                                                        os_description=None,
                                                                                        os_version=None,
                                                                                        user_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if device_id is not None:
        body['device_id'] = device_id
    if device_name is not None:
        body['device_name'] = device_name
    if error_code is not None:
        body['error_code'] = error_code
    if install_state is not None:
        body['install_state'] = install_state
    if last_sync_date_time is not None:
        body['last_sync_date_time'] = last_sync_date_time
    if os_description is not None:
        body['os_description'] = os_description
    if os_version is not None:
        body['os_version'] = os_version
    if user_name is not None:
        body['user_name'] = user_name
    return client.update_device_states(managed_e_book_id=managed_e_book_id,
                                       user_install_state_summary_id=user_install_state_summary_id,
                                       device_install_state_id=device_install_state_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_assign(client,
                                                                    managed_device_mobile_app_configuration_id,
                                                                    assignments=None):
    body = {}
    if assignments is not None:
        body['assignments'] = assignments
    return client.assign(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                         body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_create_assignment(client,
                                                                               managed_device_mobile_app_configuration_id,
                                                                               id_=None,
                                                                               target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if target is not None:
        body['target'] = target
    return client.create_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_create_device_statuses(client,
                                                                                    managed_device_mobile_app_configuration_id,
                                                                                    id_=None,
                                                                                    compliance_grace_period_expiration_date_time=None,
                                                                                    device_display_name=None,
                                                                                    device_model=None,
                                                                                    last_reported_date_time=None,
                                                                                    status=None,
                                                                                    user_name=None,
                                                                                    user_principal_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if compliance_grace_period_expiration_date_time is not None:
        body['compliance_grace_period_expiration_date_time'] = compliance_grace_period_expiration_date_time
    if device_display_name is not None:
        body['device_display_name'] = device_display_name
    if device_model is not None:
        body['device_model'] = device_model
    if last_reported_date_time is not None:
        body['last_reported_date_time'] = last_reported_date_time
    if status is not None:
        body['status'] = status
    if user_name is not None:
        body['user_name'] = user_name
    if user_principal_name is not None:
        body['user_principal_name'] = user_principal_name
    return client.create_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                         body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_create_user_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  id_=None,
                                                                                  devices_count=None,
                                                                                  last_reported_date_time=None,
                                                                                  status=None,
                                                                                  user_display_name=None,
                                                                                  user_principal_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if devices_count is not None:
        body['devices_count'] = devices_count
    if last_reported_date_time is not None:
        body['last_reported_date_time'] = last_reported_date_time
    if status is not None:
        body['status'] = status
    if user_display_name is not None:
        body['user_display_name'] = user_display_name
    if user_principal_name is not None:
        body['user_principal_name'] = user_principal_name
    return client.create_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_assignment(client,
                                                                               managed_device_mobile_app_configuration_id,
                                                                               managed_device_mobile_app_configuration_assignment_id,
                                                                               if_match=None):
    return client.delete_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                     managed_device_mobile_app_configuration_assignment_id=managed_device_mobile_app_configuration_assignment_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_device_status_summary(client,
                                                                                          managed_device_mobile_app_configuration_id,
                                                                                          if_match=None):
    return client.delete_device_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                               if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_device_statuses(client,
                                                                                    managed_device_mobile_app_configuration_id,
                                                                                    managed_device_mobile_app_configuration_device_status_id,
                                                                                    if_match=None):
    return client.delete_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                         managed_device_mobile_app_configuration_device_status_id=managed_device_mobile_app_configuration_device_status_id,
                                         if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_user_status_summary(client,
                                                                                        managed_device_mobile_app_configuration_id,
                                                                                        if_match=None):
    return client.delete_user_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                             if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_delete_user_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  managed_device_mobile_app_configuration_user_status_id,
                                                                                  if_match=None):
    return client.delete_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                       managed_device_mobile_app_configuration_user_status_id=managed_device_mobile_app_configuration_user_status_id,
                                       if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_list_assignment(client,
                                                                             managed_device_mobile_app_configuration_id,
                                                                             orderby=None,
                                                                             select=None,
                                                                             expand=None):
    return client.list_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                   orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_list_device_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  orderby=None,
                                                                                  select=None,
                                                                                  expand=None):
    return client.list_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                       orderby=orderby,
                                       select=select,
                                       expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_list_user_statuses(client,
                                                                                managed_device_mobile_app_configuration_id,
                                                                                orderby=None,
                                                                                select=None,
                                                                                expand=None):
    return client.list_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                     orderby=orderby,
                                     select=select,
                                     expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_assignment(client,
                                                                             managed_device_mobile_app_configuration_id,
                                                                             managed_device_mobile_app_configuration_assignment_id,
                                                                             select=None,
                                                                             expand=None):
    return client.get_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                  managed_device_mobile_app_configuration_assignment_id=managed_device_mobile_app_configuration_assignment_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_device_status_summary(client,
                                                                                        managed_device_mobile_app_configuration_id,
                                                                                        select=None,
                                                                                        expand=None):
    return client.get_device_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                            select=select,
                                            expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_device_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  managed_device_mobile_app_configuration_device_status_id,
                                                                                  select=None,
                                                                                  expand=None):
    return client.get_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                      managed_device_mobile_app_configuration_device_status_id=managed_device_mobile_app_configuration_device_status_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_user_status_summary(client,
                                                                                      managed_device_mobile_app_configuration_id,
                                                                                      select=None,
                                                                                      expand=None):
    return client.get_user_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                          select=select,
                                          expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_show_user_statuses(client,
                                                                                managed_device_mobile_app_configuration_id,
                                                                                managed_device_mobile_app_configuration_user_status_id,
                                                                                select=None,
                                                                                expand=None):
    return client.get_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                    managed_device_mobile_app_configuration_user_status_id=managed_device_mobile_app_configuration_user_status_id,
                                    select=select,
                                    expand=expand)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_assignment(client,
                                                                               managed_device_mobile_app_configuration_id,
                                                                               managed_device_mobile_app_configuration_assignment_id,
                                                                               id_=None,
                                                                               target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if target is not None:
        body['target'] = target
    return client.update_assignments(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                     managed_device_mobile_app_configuration_assignment_id=managed_device_mobile_app_configuration_assignment_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_device_status_summary(client,
                                                                                          managed_device_mobile_app_configuration_id,
                                                                                          id_=None,
                                                                                          configuration_version=None,
                                                                                          error_count=None,
                                                                                          failed_count=None,
                                                                                          last_update_date_time=None,
                                                                                          not_applicable_count=None,
                                                                                          pending_count=None,
                                                                                          success_count=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_version is not None:
        body['configuration_version'] = configuration_version
    if error_count is not None:
        body['error_count'] = error_count
    if failed_count is not None:
        body['failed_count'] = failed_count
    if last_update_date_time is not None:
        body['last_update_date_time'] = last_update_date_time
    if not_applicable_count is not None:
        body['not_applicable_count'] = not_applicable_count
    if pending_count is not None:
        body['pending_count'] = pending_count
    if success_count is not None:
        body['success_count'] = success_count
    return client.update_device_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                               body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_device_statuses(client,
                                                                                    managed_device_mobile_app_configuration_id,
                                                                                    managed_device_mobile_app_configuration_device_status_id,
                                                                                    id_=None,
                                                                                    compliance_grace_period_expiration_date_time=None,
                                                                                    device_display_name=None,
                                                                                    device_model=None,
                                                                                    last_reported_date_time=None,
                                                                                    status=None,
                                                                                    user_name=None,
                                                                                    user_principal_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if compliance_grace_period_expiration_date_time is not None:
        body['compliance_grace_period_expiration_date_time'] = compliance_grace_period_expiration_date_time
    if device_display_name is not None:
        body['device_display_name'] = device_display_name
    if device_model is not None:
        body['device_model'] = device_model
    if last_reported_date_time is not None:
        body['last_reported_date_time'] = last_reported_date_time
    if status is not None:
        body['status'] = status
    if user_name is not None:
        body['user_name'] = user_name
    if user_principal_name is not None:
        body['user_principal_name'] = user_principal_name
    return client.update_device_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                         managed_device_mobile_app_configuration_device_status_id=managed_device_mobile_app_configuration_device_status_id,
                                         body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_user_status_summary(client,
                                                                                        managed_device_mobile_app_configuration_id,
                                                                                        id_=None,
                                                                                        configuration_version=None,
                                                                                        error_count=None,
                                                                                        failed_count=None,
                                                                                        last_update_date_time=None,
                                                                                        not_applicable_count=None,
                                                                                        pending_count=None,
                                                                                        success_count=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_version is not None:
        body['configuration_version'] = configuration_version
    if error_count is not None:
        body['error_count'] = error_count
    if failed_count is not None:
        body['failed_count'] = failed_count
    if last_update_date_time is not None:
        body['last_update_date_time'] = last_update_date_time
    if not_applicable_count is not None:
        body['not_applicable_count'] = not_applicable_count
    if pending_count is not None:
        body['pending_count'] = pending_count
    if success_count is not None:
        body['success_count'] = success_count
    return client.update_user_status_summary(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                             body=body)


def devicescorpmgt_deviceappmanagementmobileappconfiguration_update_user_statuses(client,
                                                                                  managed_device_mobile_app_configuration_id,
                                                                                  managed_device_mobile_app_configuration_user_status_id,
                                                                                  id_=None,
                                                                                  devices_count=None,
                                                                                  last_reported_date_time=None,
                                                                                  status=None,
                                                                                  user_display_name=None,
                                                                                  user_principal_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if devices_count is not None:
        body['devices_count'] = devices_count
    if last_reported_date_time is not None:
        body['last_reported_date_time'] = last_reported_date_time
    if status is not None:
        body['status'] = status
    if user_display_name is not None:
        body['user_display_name'] = user_display_name
    if user_principal_name is not None:
        body['user_principal_name'] = user_principal_name
    return client.update_user_statuses(managed_device_mobile_app_configuration_id=managed_device_mobile_app_configuration_id,
                                       managed_device_mobile_app_configuration_user_status_id=managed_device_mobile_app_configuration_user_status_id,
                                       body=body)


def devicescorpmgt_deviceappmanagementmobileapp_assign(client,
                                                       mobile_app_id,
                                                       mobile_app_assignments=None):
    body = {}
    if mobile_app_assignments is not None:
        body['mobile_app_assignments'] = mobile_app_assignments
    return client.assign(mobile_app_id=mobile_app_id,
                         body=body)


def devicescorpmgt_deviceappmanagementmobileapp_create_assignment(client,
                                                                  mobile_app_id,
                                                                  id_=None,
                                                                  intent=None,
                                                                  settings=None,
                                                                  target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if intent is not None:
        body['intent'] = intent
    if settings is not None:
        body['settings'] = settings
    if target is not None:
        body['target'] = target
    return client.create_assignments(mobile_app_id=mobile_app_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementmobileapp_create_ref_category(client,
                                                                    mobile_app_id,
                                                                    body):
    return client.create_ref_categories(mobile_app_id=mobile_app_id,
                                        body=body)


def devicescorpmgt_deviceappmanagementmobileapp_delete_assignment(client,
                                                                  mobile_app_id,
                                                                  mobile_app_assignment_id,
                                                                  if_match=None):
    return client.delete_assignments(mobile_app_id=mobile_app_id,
                                     mobile_app_assignment_id=mobile_app_assignment_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagementmobileapp_list_assignment(client,
                                                                mobile_app_id,
                                                                orderby=None,
                                                                select=None,
                                                                expand=None):
    return client.list_assignments(mobile_app_id=mobile_app_id,
                                   orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagementmobileapp_list_category(client,
                                                              mobile_app_id,
                                                              orderby=None,
                                                              select=None,
                                                              expand=None):
    return client.list_categories(mobile_app_id=mobile_app_id,
                                  orderby=orderby,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmobileapp_list_ref_category(client,
                                                                  mobile_app_id,
                                                                  orderby=None):
    return client.list_ref_categories(mobile_app_id=mobile_app_id,
                                      orderby=orderby)


def devicescorpmgt_deviceappmanagementmobileapp_show_assignment(client,
                                                                mobile_app_id,
                                                                mobile_app_assignment_id,
                                                                select=None,
                                                                expand=None):
    return client.get_assignments(mobile_app_id=mobile_app_id,
                                  mobile_app_assignment_id=mobile_app_assignment_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementmobileapp_update_assignment(client,
                                                                  mobile_app_id,
                                                                  mobile_app_assignment_id,
                                                                  id_=None,
                                                                  intent=None,
                                                                  settings=None,
                                                                  target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if intent is not None:
        body['intent'] = intent
    if settings is not None:
        body['settings'] = settings
    if target is not None:
        body['target'] = target
    return client.update_assignments(mobile_app_id=mobile_app_id,
                                     mobile_app_assignment_id=mobile_app_assignment_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_assign(client,
                                                                             targeted_managed_app_configuration_id,
                                                                             assignments=None):
    body = {}
    if assignments is not None:
        body['assignments'] = assignments
    return client.assign(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                         body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_create_app(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 id_=None,
                                                                                 mobile_app_identifier=None,
                                                                                 version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.create_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                              body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_create_assignment(client,
                                                                                        targeted_managed_app_configuration_id,
                                                                                        id_=None,
                                                                                        target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if target is not None:
        body['target'] = target
    return client.create_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_delete_app(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 managed_mobile_app_id,
                                                                                 if_match=None):
    return client.delete_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              if_match=if_match)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_delete_assignment(client,
                                                                                        targeted_managed_app_configuration_id,
                                                                                        targeted_managed_app_policy_assignment_id,
                                                                                        if_match=None):
    return client.delete_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                     targeted_managed_app_policy_assignment_id=targeted_managed_app_policy_assignment_id,
                                     if_match=if_match)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_delete_deployment_summary(client,
                                                                                                targeted_managed_app_configuration_id,
                                                                                                if_match=None):
    return client.delete_deployment_summary(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                            if_match=if_match)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_list_app(client,
                                                                               targeted_managed_app_configuration_id,
                                                                               orderby=None,
                                                                               select=None,
                                                                               expand=None):
    return client.list_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                            orderby=orderby,
                            select=select,
                            expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_list_assignment(client,
                                                                                      targeted_managed_app_configuration_id,
                                                                                      orderby=None,
                                                                                      select=None,
                                                                                      expand=None):
    return client.list_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                   orderby=orderby,
                                   select=select,
                                   expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_show_app(client,
                                                                               targeted_managed_app_configuration_id,
                                                                               managed_mobile_app_id,
                                                                               select=None,
                                                                               expand=None):
    return client.get_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                           managed_mobile_app_id=managed_mobile_app_id,
                           select=select,
                           expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_show_assignment(client,
                                                                                      targeted_managed_app_configuration_id,
                                                                                      targeted_managed_app_policy_assignment_id,
                                                                                      select=None,
                                                                                      expand=None):
    return client.get_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                  targeted_managed_app_policy_assignment_id=targeted_managed_app_policy_assignment_id,
                                  select=select,
                                  expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_show_deployment_summary(client,
                                                                                              targeted_managed_app_configuration_id,
                                                                                              select=None,
                                                                                              expand=None):
    return client.get_deployment_summary(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                         select=select,
                                         expand=expand)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_target_app(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 apps=None):
    body = {}
    if apps is not None:
        body['apps'] = apps
    return client.target_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                              body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_update_app(client,
                                                                                 targeted_managed_app_configuration_id,
                                                                                 managed_mobile_app_id,
                                                                                 id_=None,
                                                                                 mobile_app_identifier=None,
                                                                                 version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if mobile_app_identifier is not None:
        body['mobile_app_identifier'] = mobile_app_identifier
    if version is not None:
        body['version'] = version
    return client.update_apps(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                              managed_mobile_app_id=managed_mobile_app_id,
                              body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_update_assignment(client,
                                                                                        targeted_managed_app_configuration_id,
                                                                                        targeted_managed_app_policy_assignment_id,
                                                                                        id_=None,
                                                                                        target=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if target is not None:
        body['target'] = target
    return client.update_assignments(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                     targeted_managed_app_policy_assignment_id=targeted_managed_app_policy_assignment_id,
                                     body=body)


def devicescorpmgt_deviceappmanagementtargetedmanagedappconfiguration_update_deployment_summary(client,
                                                                                                targeted_managed_app_configuration_id,
                                                                                                id_=None,
                                                                                                configuration_deployed_user_count=None,
                                                                                                configuration_deployment_summary_per_app=None,
                                                                                                display_name=None,
                                                                                                last_refresh_time=None,
                                                                                                version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if configuration_deployed_user_count is not None:
        body['configuration_deployed_user_count'] = configuration_deployed_user_count
    if configuration_deployment_summary_per_app is not None:
        body['configuration_deployment_summary_per_app'] = configuration_deployment_summary_per_app
    if display_name is not None:
        body['display_name'] = display_name
    if last_refresh_time is not None:
        body['last_refresh_time'] = last_refresh_time
    if version is not None:
        body['version'] = version
    return client.update_deployment_summary(targeted_managed_app_configuration_id=targeted_managed_app_configuration_id,
                                            body=body)


def devicescorpmgt_deviceappmanagementvpptoken_sync_license(client,
                                                            vpp_token_id):
    return client.sync_licenses(vpp_token_id=vpp_token_id)


def devicescorpmgt_user_create_device_management_troubleshooting_event(client,
                                                                       user_id,
                                                                       id_=None,
                                                                       correlation_id=None,
                                                                       event_date_time=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if correlation_id is not None:
        body['correlation_id'] = correlation_id
    if event_date_time is not None:
        body['event_date_time'] = event_date_time
    return client.create_device_management_troubleshooting_events(user_id=user_id,
                                                                  body=body)


def devicescorpmgt_user_create_managed_device(client,
                                              user_id,
                                              body):
    return client.create_managed_devices(user_id=user_id,
                                         body=body)


def devicescorpmgt_user_create_ref_managed_app_registration(client,
                                                            user_id,
                                                            body):
    return client.create_ref_managed_app_registrations(user_id=user_id,
                                                       body=body)


def devicescorpmgt_user_delete_device_management_troubleshooting_event(client,
                                                                       user_id,
                                                                       device_management_troubleshooting_event_id,
                                                                       if_match=None):
    return client.delete_device_management_troubleshooting_events(user_id=user_id,
                                                                  device_management_troubleshooting_event_id=device_management_troubleshooting_event_id,
                                                                  if_match=if_match)


def devicescorpmgt_user_delete_managed_device(client,
                                              user_id,
                                              managed_device_id,
                                              if_match=None):
    return client.delete_managed_devices(user_id=user_id,
                                         managed_device_id=managed_device_id,
                                         if_match=if_match)


def devicescorpmgt_user_list_device_management_troubleshooting_event(client,
                                                                     user_id,
                                                                     orderby=None,
                                                                     select=None,
                                                                     expand=None):
    return client.list_device_management_troubleshooting_events(user_id=user_id,
                                                                orderby=orderby,
                                                                select=select,
                                                                expand=expand)


def devicescorpmgt_user_list_managed_app_registration(client,
                                                      user_id,
                                                      orderby=None,
                                                      select=None,
                                                      expand=None):
    return client.list_managed_app_registrations(user_id=user_id,
                                                 orderby=orderby,
                                                 select=select,
                                                 expand=expand)


def devicescorpmgt_user_list_managed_device(client,
                                            user_id,
                                            orderby=None,
                                            select=None,
                                            expand=None):
    return client.list_managed_devices(user_id=user_id,
                                       orderby=orderby,
                                       select=select,
                                       expand=expand)


def devicescorpmgt_user_list_ref_managed_app_registration(client,
                                                          user_id,
                                                          orderby=None):
    return client.list_ref_managed_app_registrations(user_id=user_id,
                                                     orderby=orderby)


def devicescorpmgt_user_show_device_management_troubleshooting_event(client,
                                                                     user_id,
                                                                     device_management_troubleshooting_event_id,
                                                                     select=None,
                                                                     expand=None):
    return client.get_device_management_troubleshooting_events(user_id=user_id,
                                                               device_management_troubleshooting_event_id=device_management_troubleshooting_event_id,
                                                               select=select,
                                                               expand=expand)


def devicescorpmgt_user_show_managed_device(client,
                                            user_id,
                                            managed_device_id,
                                            select=None,
                                            expand=None):
    return client.get_managed_devices(user_id=user_id,
                                      managed_device_id=managed_device_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_user_update_device_management_troubleshooting_event(client,
                                                                       user_id,
                                                                       device_management_troubleshooting_event_id,
                                                                       id_=None,
                                                                       correlation_id=None,
                                                                       event_date_time=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if correlation_id is not None:
        body['correlation_id'] = correlation_id
    if event_date_time is not None:
        body['event_date_time'] = event_date_time
    return client.update_device_management_troubleshooting_events(user_id=user_id,
                                                                  device_management_troubleshooting_event_id=device_management_troubleshooting_event_id,
                                                                  body=body)


def devicescorpmgt_user_update_managed_device(client,
                                              user_id,
                                              managed_device_id,
                                              body):
    return client.update_managed_devices(user_id=user_id,
                                         managed_device_id=managed_device_id,
                                         body=body)


def devicescorpmgt_usersmanageddevice_create_device_compliance_policy_state(client,
                                                                            user_id,
                                                                            managed_device_id,
                                                                            id_=None,
                                                                            display_name=None,
                                                                            platform_type=None,
                                                                            setting_count=None,
                                                                            setting_states=None,
                                                                            state=None,
                                                                            version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if platform_type is not None:
        body['platform_type'] = platform_type
    if setting_count is not None:
        body['setting_count'] = setting_count
    if setting_states is not None:
        body['setting_states'] = setting_states
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.create_device_compliance_policy_states(user_id=user_id,
                                                         managed_device_id=managed_device_id,
                                                         body=body)


def devicescorpmgt_usersmanageddevice_create_device_configuration_state(client,
                                                                        user_id,
                                                                        managed_device_id,
                                                                        id_=None,
                                                                        display_name=None,
                                                                        platform_type=None,
                                                                        setting_count=None,
                                                                        setting_states=None,
                                                                        state=None,
                                                                        version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if platform_type is not None:
        body['platform_type'] = platform_type
    if setting_count is not None:
        body['setting_count'] = setting_count
    if setting_states is not None:
        body['setting_states'] = setting_states
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.create_device_configuration_states(user_id=user_id,
                                                     managed_device_id=managed_device_id,
                                                     body=body)


def devicescorpmgt_usersmanageddevice_delete_device_category(client,
                                                             user_id,
                                                             managed_device_id,
                                                             if_match=None):
    return client.delete_device_category(user_id=user_id,
                                         managed_device_id=managed_device_id,
                                         if_match=if_match)


def devicescorpmgt_usersmanageddevice_delete_device_compliance_policy_state(client,
                                                                            user_id,
                                                                            managed_device_id,
                                                                            device_compliance_policy_state_id,
                                                                            if_match=None):
    return client.delete_device_compliance_policy_states(user_id=user_id,
                                                         managed_device_id=managed_device_id,
                                                         device_compliance_policy_state_id=device_compliance_policy_state_id,
                                                         if_match=if_match)


def devicescorpmgt_usersmanageddevice_delete_device_configuration_state(client,
                                                                        user_id,
                                                                        managed_device_id,
                                                                        device_configuration_state_id,
                                                                        if_match=None):
    return client.delete_device_configuration_states(user_id=user_id,
                                                     managed_device_id=managed_device_id,
                                                     device_configuration_state_id=device_configuration_state_id,
                                                     if_match=if_match)


def devicescorpmgt_usersmanageddevice_list_device_compliance_policy_state(client,
                                                                          user_id,
                                                                          managed_device_id,
                                                                          orderby=None,
                                                                          select=None,
                                                                          expand=None):
    return client.list_device_compliance_policy_states(user_id=user_id,
                                                       managed_device_id=managed_device_id,
                                                       orderby=orderby,
                                                       select=select,
                                                       expand=expand)


def devicescorpmgt_usersmanageddevice_list_device_configuration_state(client,
                                                                      user_id,
                                                                      managed_device_id,
                                                                      orderby=None,
                                                                      select=None,
                                                                      expand=None):
    return client.list_device_configuration_states(user_id=user_id,
                                                   managed_device_id=managed_device_id,
                                                   orderby=orderby,
                                                   select=select,
                                                   expand=expand)


def devicescorpmgt_usersmanageddevice_show_device_category(client,
                                                           user_id,
                                                           managed_device_id,
                                                           select=None,
                                                           expand=None):
    return client.get_device_category(user_id=user_id,
                                      managed_device_id=managed_device_id,
                                      select=select,
                                      expand=expand)


def devicescorpmgt_usersmanageddevice_show_device_compliance_policy_state(client,
                                                                          user_id,
                                                                          managed_device_id,
                                                                          device_compliance_policy_state_id,
                                                                          select=None,
                                                                          expand=None):
    return client.get_device_compliance_policy_states(user_id=user_id,
                                                      managed_device_id=managed_device_id,
                                                      device_compliance_policy_state_id=device_compliance_policy_state_id,
                                                      select=select,
                                                      expand=expand)


def devicescorpmgt_usersmanageddevice_show_device_configuration_state(client,
                                                                      user_id,
                                                                      managed_device_id,
                                                                      device_configuration_state_id,
                                                                      select=None,
                                                                      expand=None):
    return client.get_device_configuration_states(user_id=user_id,
                                                  managed_device_id=managed_device_id,
                                                  device_configuration_state_id=device_configuration_state_id,
                                                  select=select,
                                                  expand=expand)


def devicescorpmgt_usersmanageddevice_update_device_category(client,
                                                             user_id,
                                                             managed_device_id,
                                                             id_=None,
                                                             description=None,
                                                             display_name=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if description is not None:
        body['description'] = description
    if display_name is not None:
        body['display_name'] = display_name
    return client.update_device_category(user_id=user_id,
                                         managed_device_id=managed_device_id,
                                         body=body)


def devicescorpmgt_usersmanageddevice_update_device_compliance_policy_state(client,
                                                                            user_id,
                                                                            managed_device_id,
                                                                            device_compliance_policy_state_id,
                                                                            id_=None,
                                                                            display_name=None,
                                                                            platform_type=None,
                                                                            setting_count=None,
                                                                            setting_states=None,
                                                                            state=None,
                                                                            version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if platform_type is not None:
        body['platform_type'] = platform_type
    if setting_count is not None:
        body['setting_count'] = setting_count
    if setting_states is not None:
        body['setting_states'] = setting_states
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.update_device_compliance_policy_states(user_id=user_id,
                                                         managed_device_id=managed_device_id,
                                                         device_compliance_policy_state_id=device_compliance_policy_state_id,
                                                         body=body)


def devicescorpmgt_usersmanageddevice_update_device_configuration_state(client,
                                                                        user_id,
                                                                        managed_device_id,
                                                                        device_configuration_state_id,
                                                                        id_=None,
                                                                        display_name=None,
                                                                        platform_type=None,
                                                                        setting_count=None,
                                                                        setting_states=None,
                                                                        state=None,
                                                                        version=None):
    body = {}
    if id_ is not None:
        body['id'] = id_
    if display_name is not None:
        body['display_name'] = display_name
    if platform_type is not None:
        body['platform_type'] = platform_type
    if setting_count is not None:
        body['setting_count'] = setting_count
    if setting_states is not None:
        body['setting_states'] = setting_states
    if state is not None:
        body['state'] = state
    if version is not None:
        body['version'] = version
    return client.update_device_configuration_states(user_id=user_id,
                                                     managed_device_id=managed_device_id,
                                                     device_configuration_state_id=device_configuration_state_id,
                                                     body=body)

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