createEventBridgeRuleTemplate method

Future<CreateEventBridgeRuleTemplateResponse> createEventBridgeRuleTemplate({
  1. required EventBridgeRuleTemplateEventType eventType,
  2. required String groupIdentifier,
  3. required String name,
  4. String? description,
  5. List<EventBridgeRuleTemplateTarget>? eventTargets,
  6. String? requestId,
  7. Map<String, String>? tags,
})

Creates an eventbridge rule template to monitor events and send notifications to your targeted resources.

May throw BadRequestException. May throw ConflictException. May throw ForbiddenException. May throw InternalServerErrorException. May throw NotFoundException. May throw TooManyRequestsException.

Parameter groupIdentifier : An eventbridge rule template group's identifier. Can be either be its id or current name.

Parameter name : A resource's name. Names must be unique within the scope of a resource type in a specific region.

Parameter description : A resource's optional description.

Parameter requestId : An ID that you assign to a create request. This ID ensures idempotency when creating resources.

Implementation

Future<CreateEventBridgeRuleTemplateResponse> createEventBridgeRuleTemplate({
  required EventBridgeRuleTemplateEventType eventType,
  required String groupIdentifier,
  required String name,
  String? description,
  List<EventBridgeRuleTemplateTarget>? eventTargets,
  String? requestId,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'eventType': eventType.value,
    'groupIdentifier': groupIdentifier,
    'name': name,
    if (description != null) 'description': description,
    if (eventTargets != null) 'eventTargets': eventTargets,
    'requestId': requestId ?? _s.generateIdempotencyToken(),
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/prod/eventbridge-rule-templates',
    exceptionFnMap: _exceptionFns,
  );
  return CreateEventBridgeRuleTemplateResponse.fromJson(response);
}