createWirelessDevice method
Provisions a wireless device.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter destinationName :
The name of the destination to assign to the new wireless device.
Parameter type :
The wireless device type.
Parameter clientRequestToken :
Each resource must have a unique client request token. The client token is
used to implement idempotency. It ensures that the request completes no
more than one time. If you retry a request with the same token and the
same parameters, the request will complete successfully. However, if you
try to create a new resource using the same token but different
parameters, an HTTP 409 conflict occurs. If you omit this value, AWS SDKs
will automatically generate a unique client request. For more information
about idempotency, see Ensuring
idempotency in Amazon EC2 API requests.
Parameter description :
The description of the new resource.
Parameter loRaWAN :
The device configuration information to use to create the wireless device.
Parameter name :
The name of the new resource.
Parameter positioning :
The integration status of the Device Location feature for LoRaWAN and
Sidewalk devices.
Parameter sidewalk :
The device configuration information to use to create the Sidewalk device.
Parameter tags :
The tags to attach to the new wireless device. Tags are metadata that you
can use to manage a resource.
Implementation
Future<CreateWirelessDeviceResponse> createWirelessDevice({
required String destinationName,
required WirelessDeviceType type,
String? clientRequestToken,
String? description,
LoRaWANDevice? loRaWAN,
String? name,
PositioningConfigStatus? positioning,
SidewalkCreateWirelessDevice? sidewalk,
List<Tag>? tags,
}) async {
final $payload = <String, dynamic>{
'DestinationName': destinationName,
'Type': type.value,
'ClientRequestToken': clientRequestToken ?? _s.generateIdempotencyToken(),
if (description != null) 'Description': description,
if (loRaWAN != null) 'LoRaWAN': loRaWAN,
if (name != null) 'Name': name,
if (positioning != null) 'Positioning': positioning.value,
if (sidewalk != null) 'Sidewalk': sidewalk,
if (tags != null) 'Tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/wireless-devices',
exceptionFnMap: _exceptionFns,
);
return CreateWirelessDeviceResponse.fromJson(response);
}