AWS IoT Core Device Advisor

2022/07/22 - AWS IoT Core Device Advisor - 5 updated api methods

Changes  Added new service feature (Early access only) - Long Duration Test, where customers can test the IoT device to observe how it behaves when the device is in operation for longer period.

CreateSuiteDefinition (updated) Link ¶
Changes (request)
{'suiteDefinitionConfiguration': {'isLongDurationTest': 'boolean',
                                  'protocol': 'MqttV3_1_1 | MqttV5'}}

Creates a Device Advisor test suite.

Requires permission to access the CreateSuiteDefinition action.

See also: AWS API Documentation

Request Syntax

client.create_suite_definition(
    suiteDefinitionConfiguration={
        'suiteDefinitionName': 'string',
        'devices': [
            {
                'thingArn': 'string',
                'certificateArn': 'string'
            },
        ],
        'intendedForQualification': True|False,
        'isLongDurationTest': True|False,
        'rootGroup': 'string',
        'devicePermissionRoleArn': 'string',
        'protocol': 'MqttV3_1_1'|'MqttV5'
    },
    tags={
        'string': 'string'
    }
)
type suiteDefinitionConfiguration:

dict

param suiteDefinitionConfiguration:

Creates a Device Advisor test suite with suite definition configuration.

  • suiteDefinitionName (string) --

    Gets Suite Definition Configuration name.

  • devices (list) --

    Gets the devices configured.

    • (dict) --

      Information of a test device. A thing ARN or a certificate ARN is required.

      • thingArn (string) --

        Lists devices thing ARN.

      • certificateArn (string) --

        Lists devices certificate ARN.

  • intendedForQualification (boolean) --

    Gets the tests intended for qualification in a suite.

  • isLongDurationTest (boolean) --

    Verifies if the test suite is a long duration test.

  • rootGroup (string) --

    Gets test suite root group.

  • devicePermissionRoleArn (string) --

    Gets the device permission ARN.

  • protocol (string) --

    Gets the MQTT protocol that is configured in the suite definition.

type tags:

dict

param tags:

The tags to be attached to the suite definition.

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'suiteDefinitionId': 'string',
    'suiteDefinitionArn': 'string',
    'suiteDefinitionName': 'string',
    'createdAt': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • suiteDefinitionId (string) --

      Creates a Device Advisor test suite with suite UUID.

    • suiteDefinitionArn (string) --

      Creates a Device Advisor test suite with Amazon Resource Name (ARN).

    • suiteDefinitionName (string) --

      Creates a Device Advisor test suite with suite definition name.

    • createdAt (datetime) --

      Creates a Device Advisor test suite with TimeStamp of when it was created.

GetSuiteDefinition (updated) Link ¶
Changes (response)
{'suiteDefinitionConfiguration': {'isLongDurationTest': 'boolean',
                                  'protocol': 'MqttV3_1_1 | MqttV5'}}

Gets information about a Device Advisor test suite.

Requires permission to access the GetSuiteDefinition action.

See also: AWS API Documentation

Request Syntax

client.get_suite_definition(
    suiteDefinitionId='string',
    suiteDefinitionVersion='string'
)
type suiteDefinitionId:

string

param suiteDefinitionId:

[REQUIRED]

Suite definition ID of the test suite to get.

type suiteDefinitionVersion:

string

param suiteDefinitionVersion:

Suite definition version of the test suite to get.

rtype:

dict

returns:

Response Syntax

{
    'suiteDefinitionId': 'string',
    'suiteDefinitionArn': 'string',
    'suiteDefinitionVersion': 'string',
    'latestVersion': 'string',
    'suiteDefinitionConfiguration': {
        'suiteDefinitionName': 'string',
        'devices': [
            {
                'thingArn': 'string',
                'certificateArn': 'string'
            },
        ],
        'intendedForQualification': True|False,
        'isLongDurationTest': True|False,
        'rootGroup': 'string',
        'devicePermissionRoleArn': 'string',
        'protocol': 'MqttV3_1_1'|'MqttV5'
    },
    'createdAt': datetime(2015, 1, 1),
    'lastModifiedAt': datetime(2015, 1, 1),
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • suiteDefinitionId (string) --

      Suite definition ID of the suite definition.

    • suiteDefinitionArn (string) --

      The ARN of the suite definition.

    • suiteDefinitionVersion (string) --

      Suite definition version of the suite definition.

    • latestVersion (string) --

      Latest suite definition version of the suite definition.

    • suiteDefinitionConfiguration (dict) --

      Suite configuration of the suite definition.

      • suiteDefinitionName (string) --

        Gets Suite Definition Configuration name.

      • devices (list) --

        Gets the devices configured.

        • (dict) --

          Information of a test device. A thing ARN or a certificate ARN is required.

          • thingArn (string) --

            Lists devices thing ARN.

          • certificateArn (string) --

            Lists devices certificate ARN.

      • intendedForQualification (boolean) --

        Gets the tests intended for qualification in a suite.

      • isLongDurationTest (boolean) --

        Verifies if the test suite is a long duration test.

      • rootGroup (string) --

        Gets test suite root group.

      • devicePermissionRoleArn (string) --

        Gets the device permission ARN.

      • protocol (string) --

        Gets the MQTT protocol that is configured in the suite definition.

    • createdAt (datetime) --

      Date (in Unix epoch time) when the suite definition was created.

    • lastModifiedAt (datetime) --

      Date (in Unix epoch time) when the suite definition was last modified.

    • tags (dict) --

      Tags attached to the suite definition.

      • (string) --

        • (string) --

GetSuiteRun (updated) Link ¶
Changes (response)
{'testResult': {'groups': {'tests': {'testScenarios': [{'failure': 'string',
                                                        'status': 'PASS | FAIL '
                                                                  '| CANCELED '
                                                                  '| PENDING | '
                                                                  'RUNNING | '
                                                                  'STOPPING | '
                                                                  'STOPPED | '
                                                                  'PASS_WITH_WARNINGS '
                                                                  '| ERROR',
                                                        'systemMessage': 'string',
                                                        'testCaseScenarioId': 'string',
                                                        'testCaseScenarioType': 'Advanced '
                                                                                '| '
                                                                                'Basic'}]}}}}

Gets information about a Device Advisor test suite run.

Requires permission to access the GetSuiteRun action.

See also: AWS API Documentation

Request Syntax

client.get_suite_run(
    suiteDefinitionId='string',
    suiteRunId='string'
)
type suiteDefinitionId:

string

param suiteDefinitionId:

[REQUIRED]

Suite definition ID for the test suite run.

type suiteRunId:

string

param suiteRunId:

[REQUIRED]

Suite run ID for the test suite run.

rtype:

dict

returns:

Response Syntax

{
    'suiteDefinitionId': 'string',
    'suiteDefinitionVersion': 'string',
    'suiteRunId': 'string',
    'suiteRunArn': 'string',
    'suiteRunConfiguration': {
        'primaryDevice': {
            'thingArn': 'string',
            'certificateArn': 'string'
        },
        'selectedTestList': [
            'string',
        ],
        'parallelRun': True|False
    },
    'testResult': {
        'groups': [
            {
                'groupId': 'string',
                'groupName': 'string',
                'tests': [
                    {
                        'testCaseRunId': 'string',
                        'testCaseDefinitionId': 'string',
                        'testCaseDefinitionName': 'string',
                        'status': 'PASS'|'FAIL'|'CANCELED'|'PENDING'|'RUNNING'|'STOPPING'|'STOPPED'|'PASS_WITH_WARNINGS'|'ERROR',
                        'startTime': datetime(2015, 1, 1),
                        'endTime': datetime(2015, 1, 1),
                        'logUrl': 'string',
                        'warnings': 'string',
                        'failure': 'string',
                        'testScenarios': [
                            {
                                'testCaseScenarioId': 'string',
                                'testCaseScenarioType': 'Advanced'|'Basic',
                                'status': 'PASS'|'FAIL'|'CANCELED'|'PENDING'|'RUNNING'|'STOPPING'|'STOPPED'|'PASS_WITH_WARNINGS'|'ERROR',
                                'failure': 'string',
                                'systemMessage': 'string'
                            },
                        ]
                    },
                ]
            },
        ]
    },
    'startTime': datetime(2015, 1, 1),
    'endTime': datetime(2015, 1, 1),
    'status': 'PASS'|'FAIL'|'CANCELED'|'PENDING'|'RUNNING'|'STOPPING'|'STOPPED'|'PASS_WITH_WARNINGS'|'ERROR',
    'errorReason': 'string',
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • suiteDefinitionId (string) --

      Suite definition ID for the test suite run.

    • suiteDefinitionVersion (string) --

      Suite definition version for the test suite run.

    • suiteRunId (string) --

      Suite run ID for the test suite run.

    • suiteRunArn (string) --

      The ARN of the suite run.

    • suiteRunConfiguration (dict) --

      Suite run configuration for the test suite run.

      • primaryDevice (dict) --

        Gets the primary device for suite run.

        • thingArn (string) --

          Lists devices thing ARN.

        • certificateArn (string) --

          Lists devices certificate ARN.

      • selectedTestList (list) --

        Gets test case list.

        • (string) --

      • parallelRun (boolean) --

        TRUE if multiple test suites run in parallel.

    • testResult (dict) --

      Test results for the test suite run.

      • groups (list) --

        Show each group of test results.

        • (dict) --

          Show Group Result.

          • groupId (string) --

            Group result ID.

          • groupName (string) --

            Group Result Name.

          • tests (list) --

            Tests under Group Result.

            • (dict) --

              Provides the test case run.

              • testCaseRunId (string) --

                Provides the test case run ID.

              • testCaseDefinitionId (string) --

                Provides the test case run definition ID.

              • testCaseDefinitionName (string) --

                Provides the test case run definition name.

              • status (string) --

                Provides the test case run status. Status is one of the following:

                • PASS: Test passed.

                • FAIL: Test failed.

                • PENDING: Test has not started running but is scheduled.

                • RUNNING: Test is running.

                • STOPPING: Test is performing cleanup steps. You will see this status only if you stop a suite run.

                • STOPPED Test is stopped. You will see this status only if you stop a suite run.

                • PASS_WITH_WARNINGS: Test passed with warnings.

                • ERORR: Test faced an error when running due to an internal issue.

              • startTime (datetime) --

                Provides test case run start time.

              • endTime (datetime) --

                Provides test case run end time.

              • logUrl (string) --

                Provides test case run log URL.

              • warnings (string) --

                Provides test case run warnings.

              • failure (string) --

                Provides test case run failure result.

              • testScenarios (list) --

                Provides the test scenarios for the test case run.

                • (dict) --

                  Provides test case scenario.

                  • testCaseScenarioId (string) --

                    Provides test case scenario ID.

                  • testCaseScenarioType (string) --

                    Provides test case scenario type. Type is one of the following:

                    • Advanced

                    • Basic

                  • status (string) --

                    Provides the test case scenario status. Status is one of the following:

                    • PASS: Test passed.

                    • FAIL: Test failed.

                    • PENDING: Test has not started running but is scheduled.

                    • RUNNING: Test is running.

                    • STOPPING: Test is performing cleanup steps. You will see this status only if you stop a suite run.

                    • STOPPED Test is stopped. You will see this status only if you stop a suite run.

                    • PASS_WITH_WARNINGS: Test passed with warnings.

                    • ERORR: Test faced an error when running due to an internal issue.

                  • failure (string) --

                    Provides test case scenario failure result.

                  • systemMessage (string) --

    • startTime (datetime) --

      Date (in Unix epoch time) when the test suite run started.

    • endTime (datetime) --

      Date (in Unix epoch time) when the test suite run ended.

    • status (string) --

      Status for the test suite run.

    • errorReason (string) --

      Error reason for any test suite run failure.

    • tags (dict) --

      The tags attached to the suite run.

      • (string) --

        • (string) --

ListSuiteDefinitions (updated) Link ¶
Changes (response)
{'suiteDefinitionInformationList': {'isLongDurationTest': 'boolean',
                                    'protocol': 'MqttV3_1_1 | MqttV5'}}

Lists the Device Advisor test suites you have created.

Requires permission to access the ListSuiteDefinitions action.

See also: AWS API Documentation

Request Syntax

client.list_suite_definitions(
    maxResults=123,
    nextToken='string'
)
type maxResults:

integer

param maxResults:

The maximum number of results to return at once.

type nextToken:

string

param nextToken:

A token used to get the next set of results.

rtype:

dict

returns:

Response Syntax

{
    'suiteDefinitionInformationList': [
        {
            'suiteDefinitionId': 'string',
            'suiteDefinitionName': 'string',
            'defaultDevices': [
                {
                    'thingArn': 'string',
                    'certificateArn': 'string'
                },
            ],
            'intendedForQualification': True|False,
            'isLongDurationTest': True|False,
            'protocol': 'MqttV3_1_1'|'MqttV5',
            'createdAt': datetime(2015, 1, 1)
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • suiteDefinitionInformationList (list) --

      An array of objects that provide summaries of information about the suite definitions in the list.

      • (dict) --

        Information about the suite definition.

        • suiteDefinitionId (string) --

          Suite definition ID of the test suite.

        • suiteDefinitionName (string) --

          Suite name of the test suite.

        • defaultDevices (list) --

          Specifies the devices that are under test for the test suite.

          • (dict) --

            Information of a test device. A thing ARN or a certificate ARN is required.

            • thingArn (string) --

              Lists devices thing ARN.

            • certificateArn (string) --

              Lists devices certificate ARN.

        • intendedForQualification (boolean) --

          Specifies if the test suite is intended for qualification.

        • isLongDurationTest (boolean) --

          Verifies if the test suite is a long duration test.

        • protocol (string) --

          Gets the MQTT protocol that is configured in the suite definition.

        • createdAt (datetime) --

          Date (in Unix epoch time) when the test suite was created.

    • nextToken (string) --

      A token used to get the next set of results.

UpdateSuiteDefinition (updated) Link ¶
Changes (request)
{'suiteDefinitionConfiguration': {'isLongDurationTest': 'boolean',
                                  'protocol': 'MqttV3_1_1 | MqttV5'}}

Updates a Device Advisor test suite.

Requires permission to access the UpdateSuiteDefinition action.

See also: AWS API Documentation

Request Syntax

client.update_suite_definition(
    suiteDefinitionId='string',
    suiteDefinitionConfiguration={
        'suiteDefinitionName': 'string',
        'devices': [
            {
                'thingArn': 'string',
                'certificateArn': 'string'
            },
        ],
        'intendedForQualification': True|False,
        'isLongDurationTest': True|False,
        'rootGroup': 'string',
        'devicePermissionRoleArn': 'string',
        'protocol': 'MqttV3_1_1'|'MqttV5'
    }
)
type suiteDefinitionId:

string

param suiteDefinitionId:

[REQUIRED]

Suite definition ID of the test suite to be updated.

type suiteDefinitionConfiguration:

dict

param suiteDefinitionConfiguration:

Updates a Device Advisor test suite with suite definition configuration.

  • suiteDefinitionName (string) --

    Gets Suite Definition Configuration name.

  • devices (list) --

    Gets the devices configured.

    • (dict) --

      Information of a test device. A thing ARN or a certificate ARN is required.

      • thingArn (string) --

        Lists devices thing ARN.

      • certificateArn (string) --

        Lists devices certificate ARN.

  • intendedForQualification (boolean) --

    Gets the tests intended for qualification in a suite.

  • isLongDurationTest (boolean) --

    Verifies if the test suite is a long duration test.

  • rootGroup (string) --

    Gets test suite root group.

  • devicePermissionRoleArn (string) --

    Gets the device permission ARN.

  • protocol (string) --

    Gets the MQTT protocol that is configured in the suite definition.

rtype:

dict

returns:

Response Syntax

{
    'suiteDefinitionId': 'string',
    'suiteDefinitionArn': 'string',
    'suiteDefinitionName': 'string',
    'suiteDefinitionVersion': 'string',
    'createdAt': datetime(2015, 1, 1),
    'lastUpdatedAt': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • suiteDefinitionId (string) --

      Suite definition ID of the updated test suite.

    • suiteDefinitionArn (string) --

      Amazon Resource Name (ARN) of the updated test suite.

    • suiteDefinitionName (string) --

      Suite definition name of the updated test suite.

    • suiteDefinitionVersion (string) --

      Suite definition version of the updated test suite.

    • createdAt (datetime) --

      Timestamp of when the test suite was created.

    • lastUpdatedAt (datetime) --

      Timestamp of when the test suite was updated.