createEventTrigger method

Future<CreateEventTriggerResponse> createEventTrigger({
  1. required String domainName,
  2. required List<EventTriggerCondition> eventTriggerConditions,
  3. required String eventTriggerName,
  4. required String objectTypeName,
  5. String? description,
  6. EventTriggerLimits? eventTriggerLimits,
  7. String? segmentFilter,
  8. Map<String, String>? tags,
})

Creates an event trigger, which specifies the rules when to perform action based on customer's ingested data.

Each event stream can be associated with only one integration in the same region and AWS account as the event stream.

May throw AccessDeniedException. May throw BadRequestException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ThrottlingException.

Parameter domainName : The unique name of the domain.

Parameter eventTriggerConditions : A list of conditions that determine when an event should trigger the destination.

Parameter eventTriggerName : The unique name of the event trigger.

Parameter objectTypeName : The unique name of the object type.

Parameter description : The description of the event trigger.

Parameter eventTriggerLimits : Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

Parameter segmentFilter : The destination is triggered only for profiles that meet the criteria of a segment definition.

Parameter tags : An array of key-value pairs to apply to this resource.

Implementation

Future<CreateEventTriggerResponse> createEventTrigger({
  required String domainName,
  required List<EventTriggerCondition> eventTriggerConditions,
  required String eventTriggerName,
  required String objectTypeName,
  String? description,
  EventTriggerLimits? eventTriggerLimits,
  String? segmentFilter,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'EventTriggerConditions': eventTriggerConditions,
    'ObjectTypeName': objectTypeName,
    if (description != null) 'Description': description,
    if (eventTriggerLimits != null) 'EventTriggerLimits': eventTriggerLimits,
    if (segmentFilter != null) 'SegmentFilter': segmentFilter,
    if (tags != null) 'Tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/domains/${Uri.encodeComponent(domainName)}/event-triggers/${Uri.encodeComponent(eventTriggerName)}',
    exceptionFnMap: _exceptionFns,
  );
  return CreateEventTriggerResponse.fromJson(response);
}