searchDevices method
Searches devices and lists the ones that meet a set of filter criteria.
Parameter 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.
Parameter 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.
Parameter 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
.
Parameter 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.
Implementation
Future<SearchDevicesResponse> searchDevices({
List<Filter>? filters,
int? maxResults,
String? nextToken,
List<Sort>? sortCriteria,
}) async {
_s.validateNumRange(
'maxResults',
maxResults,
1,
50,
);
_s.validateStringLength(
'nextToken',
nextToken,
1,
1100,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AlexaForBusiness.SearchDevices'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
if (filters != null) 'Filters': filters,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
if (sortCriteria != null) 'SortCriteria': sortCriteria,
},
);
return SearchDevicesResponse.fromJson(jsonResponse.body);
}