Alexa For Business

2019/05/21 - Alexa For Business - 6 new 3 updated api methods

Changes  This release contains API changes to allow customers to create and manage Network Profiles for their Shared devices

UpdateNetworkProfile (new) Link ¶

Updates a network profile by the network profile ARN.

See also: AWS API Documentation

Request Syntax

client.update_network_profile(
    NetworkProfileArn='string',
    NetworkProfileName='string',
    Description='string',
    CurrentPassword='string',
    NextPassword='string',
    CertificateAuthorityArn='string',
    TrustAnchors=[
        'string',
    ]
)
type NetworkProfileArn

string

param NetworkProfileArn

[REQUIRED]

The ARN of the network profile associated with a device.

type NetworkProfileName

string

param NetworkProfileName

The name of the network profile associated with a device.

type Description

string

param Description

Detailed information about a device's network profile.

type CurrentPassword

string

param CurrentPassword

The current password of the Wi-Fi network.

type NextPassword

string

param NextPassword

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

type CertificateAuthorityArn

string

param CertificateAuthorityArn

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

type TrustAnchors

list

param TrustAnchors

The root certificate(s) of your authentication server that will be installed on your devices and used to trust your authentication server during EAP negotiation.

  • (string) --

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

AssociateDeviceWithNetworkProfile (new) Link ¶

Associates a device with the specified network profile.

See also: AWS API Documentation

Request Syntax

client.associate_device_with_network_profile(
    DeviceArn='string',
    NetworkProfileArn='string'
)
type DeviceArn

string

param DeviceArn

[REQUIRED]

The device ARN.

type NetworkProfileArn

string

param NetworkProfileArn

[REQUIRED]

The ARN of the network profile to associate with a device.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

CreateNetworkProfile (new) Link ¶

Creates a network profile with the specified details.

See also: AWS API Documentation

Request Syntax

client.create_network_profile(
    NetworkProfileName='string',
    Description='string',
    Ssid='string',
    SecurityType='OPEN'|'WEP'|'WPA_PSK'|'WPA2_PSK'|'WPA2_ENTERPRISE',
    EapMethod='EAP_TLS',
    CurrentPassword='string',
    NextPassword='string',
    CertificateAuthorityArn='string',
    TrustAnchors=[
        'string',
    ],
    ClientRequestToken='string'
)
type NetworkProfileName

string

param NetworkProfileName

[REQUIRED]

The name of the network profile associated with a device.

type Description

string

param Description

Detailed information about a device's network profile.

type Ssid

string

param Ssid

[REQUIRED]

The SSID of the Wi-Fi network.

type SecurityType

string

param SecurityType

[REQUIRED]

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

type EapMethod

string

param EapMethod

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

type CurrentPassword

string

param CurrentPassword

The current password of the Wi-Fi network.

type NextPassword

string

param NextPassword

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

type CertificateAuthorityArn

string

param CertificateAuthorityArn

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

type TrustAnchors

list

param TrustAnchors

The root certificates of your authentication server that is installed on your devices and used to trust your authentication server during EAP negotiation.

  • (string) --

type ClientRequestToken

string

param ClientRequestToken

[REQUIRED]

A unique, user-specified identifier for the request that ensures idempotency.

This field is autopopulated if not provided.

rtype

dict

returns

Response Syntax

{
    'NetworkProfileArn': 'string'
}

Response Structure

  • (dict) --

    • NetworkProfileArn (string) --

      The ARN of the network profile associated with a device.

SearchNetworkProfiles (new) Link ¶

Searches network profiles and lists the ones that meet a set of filter and sort criteria.

See also: AWS API Documentation

Request Syntax

client.search_network_profiles(
    NextToken='string',
    MaxResults=123,
    Filters=[
        {
            'Key': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    SortCriteria=[
        {
            'Key': 'string',
            'Value': 'ASC'|'DESC'
        },
    ]
)
type NextToken

string

param NextToken

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

type MaxResults

integer

param MaxResults

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

type Filters

list

param Filters

The filters to use to list a specified set of network profiles. Valid filters are NetworkProfileName, Ssid, and SecurityType.

  • (dict) --

    A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria.

    • Key (string) -- [REQUIRED]

      The key of a filter.

    • Values (list) -- [REQUIRED]

      The values of a filter.

      • (string) --

type SortCriteria

list

param SortCriteria

The sort order to use to list the specified set of network profiles. Valid sort criteria includes NetworkProfileName, Ssid, and SecurityType.

  • (dict) --

    An object representing a sort criteria.

    • Key (string) -- [REQUIRED]

      The sort key of a sort object.

    • Value (string) -- [REQUIRED]

      The sort value of a sort object.

rtype

dict

returns

Response Syntax

{
    'NetworkProfiles': [
        {
            'NetworkProfileArn': 'string',
            'NetworkProfileName': 'string',
            'Description': 'string',
            'Ssid': 'string',
            'SecurityType': 'OPEN'|'WEP'|'WPA_PSK'|'WPA2_PSK'|'WPA2_ENTERPRISE',
            'EapMethod': 'EAP_TLS',
            'CertificateAuthorityArn': 'string'
        },
    ],
    'NextToken': 'string',
    'TotalCount': 123
}

Response Structure

  • (dict) --

    • NetworkProfiles (list) --

      The network profiles that meet the specified set of filter criteria, in sort order. It is a list of NetworkProfileData objects.

      • (dict) --

        The data associated with a network profile.

        • NetworkProfileArn (string) --

          The ARN of the network profile associated with a device.

        • NetworkProfileName (string) --

          The name of the network profile associated with a device.

        • Description (string) --

          Detailed information about a device's network profile.

        • Ssid (string) --

          The SSID of the Wi-Fi network.

        • SecurityType (string) --

          The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

        • EapMethod (string) --

          The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

        • CertificateAuthorityArn (string) --

          The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

    • NextToken (string) --

      An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

    • TotalCount (integer) --

      The total number of network profiles returned.

DeleteNetworkProfile (new) Link ¶

Deletes a network profile by the network profile ARN.

See also: AWS API Documentation

Request Syntax

client.delete_network_profile(
    NetworkProfileArn='string'
)
type NetworkProfileArn

string

param NetworkProfileArn

[REQUIRED]

The ARN of the network profile associated with a device.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

GetNetworkProfile (new) Link ¶

Gets the network profile details by the network profile ARN.

See also: AWS API Documentation

Request Syntax

client.get_network_profile(
    NetworkProfileArn='string'
)
type NetworkProfileArn

string

param NetworkProfileArn

[REQUIRED]

The ARN of the network profile associated with a device.

rtype

dict

returns

Response Syntax

{
    'NetworkProfile': {
        'NetworkProfileArn': 'string',
        'NetworkProfileName': 'string',
        'Description': 'string',
        'Ssid': 'string',
        'SecurityType': 'OPEN'|'WEP'|'WPA_PSK'|'WPA2_PSK'|'WPA2_ENTERPRISE',
        'EapMethod': 'EAP_TLS',
        'CurrentPassword': 'string',
        'NextPassword': 'string',
        'CertificateAuthorityArn': 'string',
        'TrustAnchors': [
            'string',
        ]
    }
}

Response Structure

  • (dict) --

    • NetworkProfile (dict) --

      The network profile associated with a device.

      • NetworkProfileArn (string) --

        The ARN of the network profile associated with a device.

      • NetworkProfileName (string) --

        The name of the network profile associated with a device.

      • Description (string) --

        Detailed information about a device's network profile.

      • Ssid (string) --

        The SSID of the Wi-Fi network.

      • SecurityType (string) --

        The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

      • EapMethod (string) --

        The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

      • CurrentPassword (string) --

        The current password of the Wi-Fi network.

      • NextPassword (string) --

        The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

      • CertificateAuthorityArn (string) --

        The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

      • TrustAnchors (list) --

        The root certificates of your authentication server, which is installed on your devices and used to trust your authentication server during EAP negotiation.

        • (string) --

GetDevice (updated) Link ¶
Changes (response)
{'Device': {'DeviceStatus': ['FAILED'],
            'DeviceStatusInfo': {'DeviceStatusDetails': {'Feature': 'BLUETOOTH '
                                                                    '| VOLUME '
                                                                    '| '
                                                                    'NOTIFICATIONS '
                                                                    '| LISTS | '
                                                                    'SKILLS | '
                                                                    'NETWORK_PROFILE '
                                                                    '| '
                                                                    'SETTINGS '
                                                                    '| ALL'}},
            'NetworkProfileInfo': {'CertificateArn': 'string',
                                   'CertificateExpirationTime': 'timestamp',
                                   'NetworkProfileArn': 'string'}}}

Gets the details of a device by device ARN.

See also: AWS API Documentation

Request Syntax

client.get_device(
    DeviceArn='string'
)
type DeviceArn

string

param DeviceArn

The ARN of the device for which to request details. Required.

rtype

dict

returns

Response Syntax

{
    'Device': {
        'DeviceArn': 'string',
        'DeviceSerialNumber': 'string',
        'DeviceType': 'string',
        'DeviceName': 'string',
        'SoftwareVersion': 'string',
        'MacAddress': 'string',
        'RoomArn': 'string',
        'DeviceStatus': 'READY'|'PENDING'|'WAS_OFFLINE'|'DEREGISTERED'|'FAILED',
        'DeviceStatusInfo': {
            'DeviceStatusDetails': [
                {
                    'Feature': 'BLUETOOTH'|'VOLUME'|'NOTIFICATIONS'|'LISTS'|'SKILLS'|'NETWORK_PROFILE'|'SETTINGS'|'ALL',
                    'Code': 'DEVICE_SOFTWARE_UPDATE_NEEDED'|'DEVICE_WAS_OFFLINE'|'CREDENTIALS_ACCESS_FAILURE'|'TLS_VERSION_MISMATCH'|'ASSOCIATION_REJECTION'|'AUTHENTICATION_FAILURE'|'DHCP_FAILURE'|'INTERNET_UNAVAILABLE'|'DNS_FAILURE'|'UNKNOWN_FAILURE'|'CERTIFICATE_ISSUING_LIMIT_EXCEEDED'|'INVALID_CERTIFICATE_AUTHORITY'|'NETWORK_PROFILE_NOT_FOUND'|'INVALID_PASSWORD_STATE'|'PASSWORD_NOT_FOUND'
                },
            ],
            'ConnectionStatus': 'ONLINE'|'OFFLINE'
        },
        'NetworkProfileInfo': {
            'NetworkProfileArn': 'string',
            'CertificateArn': 'string',
            'CertificateExpirationTime': datetime(2015, 1, 1)
        }
    }
}

Response Structure

  • (dict) --

    • Device (dict) --

      The details of the device requested. Required.

      • DeviceArn (string) --

        The ARN of a device.

      • DeviceSerialNumber (string) --

        The serial number of a device.

      • DeviceType (string) --

        The type of a device.

      • DeviceName (string) --

        The name of a device.

      • SoftwareVersion (string) --

        The software version of a device.

      • MacAddress (string) --

        The MAC address of a device.

      • RoomArn (string) --

        The room ARN of a device.

      • DeviceStatus (string) --

        The status of a device. If the status is not READY, check the DeviceStatusInfo value for details.

      • DeviceStatusInfo (dict) --

        Detailed information about a device's status.

        • DeviceStatusDetails (list) --

          One or more device status detail descriptions.

          • (dict) --

            Details of a device’s status.

            • Feature (string) --

              The list of available features on the device.

            • Code (string) --

              The device status detail code.

        • ConnectionStatus (string) --

          The latest available information about the connection status of a device.

      • NetworkProfileInfo (dict) --

        Detailed information about a device's network profile.

        • NetworkProfileArn (string) --

          The ARN of the network profile associated with a device.

        • CertificateArn (string) --

          The ARN of the certificate associated with a device.

        • CertificateExpirationTime (datetime) --

          The time (in epoch) when the certificate expires.

SearchDevices (updated) Link ¶
Changes (response)
{'Devices': {'DeviceStatus': ['FAILED'],
             'DeviceStatusInfo': {'DeviceStatusDetails': {'Feature': 'BLUETOOTH '
                                                                     '| VOLUME '
                                                                     '| '
                                                                     'NOTIFICATIONS '
                                                                     '| LISTS '
                                                                     '| SKILLS '
                                                                     '| '
                                                                     'NETWORK_PROFILE '
                                                                     '| '
                                                                     'SETTINGS '
                                                                     '| ALL'}},
             'NetworkProfileArn': 'string',
             'NetworkProfileName': 'string'}}

Searches devices and lists the ones that meet a set of filter criteria.

See also: AWS API Documentation

Request Syntax

client.search_devices(
    NextToken='string',
    MaxResults=123,
    Filters=[
        {
            'Key': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    SortCriteria=[
        {
            'Key': 'string',
            'Value': 'ASC'|'DESC'
        },
    ]
)
type NextToken

string

param NextToken

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults .

type MaxResults

integer

param MaxResults

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

type Filters

list

param Filters

The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE), NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.

  • (dict) --

    A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria.

    • Key (string) -- [REQUIRED]

      The key of a filter.

    • Values (list) -- [REQUIRED]

      The values of a filter.

      • (string) --

type SortCriteria

list

param SortCriteria

The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, ConnectionStatus, NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.

  • (dict) --

    An object representing a sort criteria.

    • Key (string) -- [REQUIRED]

      The sort key of a sort object.

    • Value (string) -- [REQUIRED]

      The sort value of a sort object.

rtype

dict

returns

Response Syntax

{
    'Devices': [
        {
            'DeviceArn': 'string',
            'DeviceSerialNumber': 'string',
            'DeviceType': 'string',
            'DeviceName': 'string',
            'SoftwareVersion': 'string',
            'MacAddress': 'string',
            'DeviceStatus': 'READY'|'PENDING'|'WAS_OFFLINE'|'DEREGISTERED'|'FAILED',
            'NetworkProfileArn': 'string',
            'NetworkProfileName': 'string',
            'RoomArn': 'string',
            'RoomName': 'string',
            'DeviceStatusInfo': {
                'DeviceStatusDetails': [
                    {
                        'Feature': 'BLUETOOTH'|'VOLUME'|'NOTIFICATIONS'|'LISTS'|'SKILLS'|'NETWORK_PROFILE'|'SETTINGS'|'ALL',
                        'Code': 'DEVICE_SOFTWARE_UPDATE_NEEDED'|'DEVICE_WAS_OFFLINE'|'CREDENTIALS_ACCESS_FAILURE'|'TLS_VERSION_MISMATCH'|'ASSOCIATION_REJECTION'|'AUTHENTICATION_FAILURE'|'DHCP_FAILURE'|'INTERNET_UNAVAILABLE'|'DNS_FAILURE'|'UNKNOWN_FAILURE'|'CERTIFICATE_ISSUING_LIMIT_EXCEEDED'|'INVALID_CERTIFICATE_AUTHORITY'|'NETWORK_PROFILE_NOT_FOUND'|'INVALID_PASSWORD_STATE'|'PASSWORD_NOT_FOUND'
                    },
                ],
                'ConnectionStatus': 'ONLINE'|'OFFLINE'
            }
        },
    ],
    'NextToken': 'string',
    'TotalCount': 123
}

Response Structure

  • (dict) --

    • Devices (list) --

      The devices that meet the specified set of filter criteria, in sort order.

      • (dict) --

        Device attributes.

        • DeviceArn (string) --

          The ARN of a device.

        • DeviceSerialNumber (string) --

          The serial number of a device.

        • DeviceType (string) --

          The type of a device.

        • DeviceName (string) --

          The name of a device.

        • SoftwareVersion (string) --

          The software version of a device.

        • MacAddress (string) --

          The MAC address of a device.

        • DeviceStatus (string) --

          The status of a device.

        • NetworkProfileArn (string) --

          The ARN of the network profile associated with a device.

        • NetworkProfileName (string) --

          The name of the network profile associated with a device.

        • RoomArn (string) --

          The room ARN associated with a device.

        • RoomName (string) --

          The name of the room associated with a device.

        • DeviceStatusInfo (dict) --

          Detailed information about a device's status.

          • DeviceStatusDetails (list) --

            One or more device status detail descriptions.

            • (dict) --

              Details of a device’s status.

              • Feature (string) --

                The list of available features on the device.

              • Code (string) --

                The device status detail code.

          • ConnectionStatus (string) --

            The latest available information about the connection status of a device.

    • NextToken (string) --

      The token returned to indicate that there is more data available.

    • TotalCount (integer) --

      The total number of devices returned.

StartDeviceSync (updated) Link ¶
Changes (request)
{'Features': ['SETTINGS', 'NETWORK_PROFILE']}

Resets a device and its account to the known default settings. This clears all information and settings set by previous users in the following ways:

  • Bluetooth - This unpairs all bluetooth devices paired with your echo device.

  • Volume - This resets the echo device's volume to the default value.

  • Notifications - This clears all notifications from your echo device.

  • Lists - This clears all to-do items from your echo device.

  • Settings - This internally syncs the room's profile (if the device is assigned to a room), contacts, address books, delegation access for account linking, and communications (if enabled on the room profile).

See also: AWS API Documentation

Request Syntax

client.start_device_sync(
    RoomArn='string',
    DeviceArn='string',
    Features=[
        'BLUETOOTH'|'VOLUME'|'NOTIFICATIONS'|'LISTS'|'SKILLS'|'NETWORK_PROFILE'|'SETTINGS'|'ALL',
    ]
)
type RoomArn

string

param RoomArn

The ARN of the room with which the device to sync is associated. Required.

type DeviceArn

string

param DeviceArn

The ARN of the device to sync. Required.

type Features

list

param Features

[REQUIRED]

Request structure to start the device sync. Required.

  • (string) --

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --