def schedule_run(projectArn=None, appArn=None, devicePoolArn=None, name=
    None, test=None, configuration=None, executionConfiguration=None):
    """
    Schedules a run.
    See also: AWS API Documentation
    
    Examples
    The following example schedules a test run named MyRun.
    Expected Output:
    
    :example: response = client.schedule_run(
        projectArn='string',
        appArn='string',
        devicePoolArn='string',
        name='string',
        test={
            'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
            'testPackageArn': 'string',
            'filter': 'string',
            'parameters': {
                'string': 'string'
            }
        },
        configuration={
            'extraDataPackageArn': 'string',
            'networkProfileArn': 'string',
            'locale': 'string',
            'location': {
                'latitude': 123.0,
                'longitude': 123.0
            },
            'radios': {
                'wifi': True|False,
                'bluetooth': True|False,
                'nfc': True|False,
                'gps': True|False
            },
            'auxiliaryApps': [
                'string',
            ],
            'billingMethod': 'METERED'|'UNMETERED'
        },
        executionConfiguration={
            'jobTimeoutMinutes': 123,
            'accountsCleanup': True|False,
            'appPackagesCleanup': True|False
        }
    )
    
    
    :type projectArn: string
    :param projectArn: [REQUIRED]
            The ARN of the project for the run to be scheduled.
            

    :type appArn: string
    :param appArn: The ARN of the app to schedule a run.

    :type devicePoolArn: string
    :param devicePoolArn: [REQUIRED]
            The ARN of the device pool for the run to be scheduled.
            

    :type name: string
    :param name: The name for the run to be scheduled.

    :type test: dict
    :param test: [REQUIRED]
            Information about the test for the run to be scheduled.
            type (string) -- [REQUIRED]The test's type.
            Must be one of the following values:
            BUILTIN_FUZZ: The built-in fuzz type.
            BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
            APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
            APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
            APPIUM_PYTHON: The Appium Python type.
            APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
            APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
            APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
            CALABASH: The Calabash type.
            INSTRUMENTATION: The Instrumentation type.
            UIAUTOMATION: The uiautomation type.
            UIAUTOMATOR: The uiautomator type.
            XCTEST: The XCode test type.
            XCTEST_UI: The XCode UI test type.
            testPackageArn (string) --The ARN of the uploaded test that will be run.
            filter (string) --The test's filter.
            parameters (dict) --The test's parameters, such as the following test framework parameters and fixture settings:
            For Calabash tests:
            profile: A cucumber profile, for example, 'my_profile_name'.
            tags: You can limit execution to features or scenarios that have (or don't have) certain tags, for example, '@smoke' or '@smoke,~@wip'.
            For Appium tests (all types):
            appium_version: The Appium version. Currently supported values are '1.4.16', '1.6.3', 'latest', and 'default'.
             latest  will run the latest Appium version supported by Device Farm (1.6.3).
            For  default , Device Farm will choose a compatible version of Appium for the device. The current behavior is to run 1.4.16 on Android devices and iOS 9 and earlier, 1.6.3 for iOS 10 and later.
            This behavior is subject to change.
            For Fuzz tests (Android only):
            event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.
            throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.
            seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.
            For Explorer tests:
            username: A username to use if the Explorer encounters a login form. If not supplied, no username will be inserted.
            password: A password to use if the Explorer encounters a login form. If not supplied, no password will be inserted.
            For Instrumentation:
            filter: A test filter string. Examples:
            Running a single test case: 'com.android.abc.Test1'
            Running a single test: 'com.android.abc.Test1#smoke'
            Running multiple tests: 'com.android.abc.Test1,com.android.abc.Test2'
            For XCTest and XCTestUI:
            filter: A test filter string. Examples:
            Running a single test class: 'LoginTests'
            Running a multiple test classes: 'LoginTests,SmokeTests'
            Running a single test: 'LoginTests/testValid'
            Running multiple tests: 'LoginTests/testValid,LoginTests/testInvalid'
            For UIAutomator:
            filter: A test filter string. Examples:
            Running a single test case: 'com.android.abc.Test1'
            Running a single test: 'com.android.abc.Test1#smoke'
            Running multiple tests: 'com.android.abc.Test1,com.android.abc.Test2'
            
            (string) --
            (string) --
            
            

    :type configuration: dict
    :param configuration: Information about the settings for the run to be scheduled.
            extraDataPackageArn (string) --The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.
            networkProfileArn (string) --Reserved for internal use.
            locale (string) --Information about the locale that is used for the run.
            location (dict) --Information about the location that is used for the run.
            latitude (float) -- [REQUIRED]The latitude.
            longitude (float) -- [REQUIRED]The longitude.
            radios (dict) --Information about the radio states for the run.
            wifi (boolean) --True if Wi-Fi is enabled at the beginning of the test; otherwise, false.
            bluetooth (boolean) --True if Bluetooth is enabled at the beginning of the test; otherwise, false.
            nfc (boolean) --True if NFC is enabled at the beginning of the test; otherwise, false.
            gps (boolean) --True if GPS is enabled at the beginning of the test; otherwise, false.
            auxiliaryApps (list) --A list of auxiliary apps for the run.
            (string) --
            billingMethod (string) --Specifies the billing method for a test run: metered or unmetered . If the parameter is not specified, the default value is metered .
            

    :type executionConfiguration: dict
    :param executionConfiguration: Specifies configuration information about a test run, such as the execution timeout (in minutes).
            jobTimeoutMinutes (integer) --The number of minutes a test run will execute before it times out.
            accountsCleanup (boolean) --True if account cleanup is enabled at the beginning of the test; otherwise, false.
            appPackagesCleanup (boolean) --True if app package cleanup is enabled at the beginning of the test; otherwise, false.
            

    :rtype: dict
    :return: {
        'run': {
            'arn': 'string',
            'name': 'string',
            'type': 'BUILTIN_FUZZ'|'BUILTIN_EXPLORER'|'APPIUM_JAVA_JUNIT'|'APPIUM_JAVA_TESTNG'|'APPIUM_PYTHON'|'APPIUM_WEB_JAVA_JUNIT'|'APPIUM_WEB_JAVA_TESTNG'|'APPIUM_WEB_PYTHON'|'CALABASH'|'INSTRUMENTATION'|'UIAUTOMATION'|'UIAUTOMATOR'|'XCTEST'|'XCTEST_UI',
            'platform': 'ANDROID'|'IOS',
            'created': datetime(2015, 1, 1),
            'status': 'PENDING'|'PENDING_CONCURRENCY'|'PENDING_DEVICE'|'PROCESSING'|'SCHEDULING'|'PREPARING'|'RUNNING'|'COMPLETED'|'STOPPING',
            'result': 'PENDING'|'PASSED'|'WARNED'|'FAILED'|'SKIPPED'|'ERRORED'|'STOPPED',
            'started': datetime(2015, 1, 1),
            'stopped': datetime(2015, 1, 1),
            'counters': {
                'total': 123,
                'passed': 123,
                'failed': 123,
                'warned': 123,
                'errored': 123,
                'stopped': 123,
                'skipped': 123
            },
            'message': 'string',
            'totalJobs': 123,
            'completedJobs': 123,
            'billingMethod': 'METERED'|'UNMETERED',
            'deviceMinutes': {
                'total': 123.0,
                'metered': 123.0,
                'unmetered': 123.0
            },
            'networkProfile': {
                'arn': 'string',
                'name': 'string',
                'description': 'string',
                'type': 'CURATED'|'PRIVATE',
                'uplinkBandwidthBits': 123,
                'downlinkBandwidthBits': 123,
                'uplinkDelayMs': 123,
                'downlinkDelayMs': 123,
                'uplinkJitterMs': 123,
                'downlinkJitterMs': 123,
                'uplinkLossPercent': 123,
                'downlinkLossPercent': 123
            }
        }
    }
    
    
    :returns: 
    BUILTIN_FUZZ: The built-in fuzz type.
    BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
    APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
    APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
    APPIUM_PYTHON: The Appium Python type.
    APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
    APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
    APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
    CALABASH: The Calabash type.
    INSTRUMENTATION: The Instrumentation type.
    UIAUTOMATION: The uiautomation type.
    UIAUTOMATOR: The uiautomator type.
    XCTEST: The XCode test type.
    XCTEST_UI: The XCode UI test type.
    
    """
    pass
