updateResourceEventConfiguration method

Future<void> updateResourceEventConfiguration({
  1. required String identifier,
  2. required IdentifierType identifierType,
  3. ConnectionStatusEventConfiguration? connectionStatus,
  4. DeviceRegistrationStateEventConfiguration? deviceRegistrationState,
  5. JoinEventConfiguration? join,
  6. MessageDeliveryStatusEventConfiguration? messageDeliveryStatus,
  7. EventNotificationPartnerType? partnerType,
  8. ProximityEventConfiguration? proximity,
})

Update the event configuration for a particular resource identifier.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw ValidationException.

Parameter identifier : Resource identifier to opt in for event messaging.

Parameter identifierType : Identifier type of the particular resource identifier for event configuration.

Parameter connectionStatus : Event configuration for the connection status event.

Parameter deviceRegistrationState : Event configuration for the device registration state event.

Parameter join : Event configuration for the join event.

Parameter messageDeliveryStatus : Event configuration for the message delivery status event.

Parameter partnerType : Partner type of the resource if the identifier type is PartnerAccountId

Parameter proximity : Event configuration for the proximity event.

Implementation

Future<void> updateResourceEventConfiguration({
  required String identifier,
  required IdentifierType identifierType,
  ConnectionStatusEventConfiguration? connectionStatus,
  DeviceRegistrationStateEventConfiguration? deviceRegistrationState,
  JoinEventConfiguration? join,
  MessageDeliveryStatusEventConfiguration? messageDeliveryStatus,
  EventNotificationPartnerType? partnerType,
  ProximityEventConfiguration? proximity,
}) async {
  final $query = <String, List<String>>{
    'identifierType': [identifierType.value],
    if (partnerType != null) 'partnerType': [partnerType.value],
  };
  final $payload = <String, dynamic>{
    if (connectionStatus != null) 'ConnectionStatus': connectionStatus,
    if (deviceRegistrationState != null)
      'DeviceRegistrationState': deviceRegistrationState,
    if (join != null) 'Join': join,
    if (messageDeliveryStatus != null)
      'MessageDeliveryStatus': messageDeliveryStatus,
    if (proximity != null) 'Proximity': proximity,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PATCH',
    requestUri: '/event-configurations/${Uri.encodeComponent(identifier)}',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
}