createNotificationRule method

Future<CreateNotificationRuleResult> createNotificationRule({
  1. required DetailType detailType,
  2. required List<String> eventTypeIds,
  3. required String name,
  4. required String resource,
  5. required List<Target> targets,
  6. String? clientRequestToken,
  7. NotificationRuleStatus? status,
  8. Map<String, String>? tags,
})

Creates a notification rule for a resource. The rule specifies the events you want notifications about and the targets (such as Amazon Q Developer in chat applications topics or Amazon Q Developer in chat applications clients configured for Slack) where you want to receive them.

May throw AccessDeniedException. May throw ConcurrentModificationException. May throw ConfigurationException. May throw LimitExceededException. May throw ResourceAlreadyExistsException. May throw ValidationException.

Parameter detailType : The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in Amazon CloudWatch. FULL will include any supplemental information provided by CodeStar Notifications and/or the service for the resource for which the notification is created.

Parameter eventTypeIds : A list of event types associated with this notification rule. For a list of allowed events, see EventTypeSummary.

Parameter name : The name for the notification rule. Notification rule names must be unique in your Amazon Web Services account.

Parameter resource : The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in CodePipeline, repositories in CodeCommit, and build projects in CodeBuild.

Parameter targets : A list of Amazon Resource Names (ARNs) of Amazon Simple Notification Service topics and Amazon Q Developer in chat applications clients to associate with the notification rule.

Parameter clientRequestToken : A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request with the same parameters is received and a token is included, the request returns information about the initial request that used that token.

Parameter status : The status of the notification rule. The default value is ENABLED. If the status is set to DISABLED, notifications aren't sent for the notification rule.

Parameter tags : A list of tags to apply to this notification rule. Key names cannot start with "aws".

Implementation

Future<CreateNotificationRuleResult> createNotificationRule({
  required DetailType detailType,
  required List<String> eventTypeIds,
  required String name,
  required String resource,
  required List<Target> targets,
  String? clientRequestToken,
  NotificationRuleStatus? status,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'DetailType': detailType.value,
    'EventTypeIds': eventTypeIds,
    'Name': name,
    'Resource': resource,
    'Targets': targets,
    'ClientRequestToken': clientRequestToken ?? _s.generateIdempotencyToken(),
    if (status != null) 'Status': status.value,
    if (tags != null) 'Tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/createNotificationRule',
    exceptionFnMap: _exceptionFns,
  );
  return CreateNotificationRuleResult.fromJson(response);
}