aws-cdk-lib.aws_codestarnotifications.NotificationRule

class NotificationRule (construct)

LanguageType name
.NETAmazon.CDK.AWS.CodeStarNotifications.NotificationRule
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awscodestarnotifications#NotificationRule
Javasoftware.amazon.awscdk.services.codestarnotifications.NotificationRule
Pythonaws_cdk.aws_codestarnotifications.NotificationRule
TypeScript (source)aws-cdk-lib » aws_codestarnotifications » NotificationRule

Implements IConstruct, IDependable, IResource, INotificationRule

A new notification rule.

Example

import * as notifications from 'aws-cdk-lib/aws-codestarnotifications';
import * as codebuild from 'aws-cdk-lib/aws-codebuild';
import * as sns from 'aws-cdk-lib/aws-sns';
import * as chatbot from 'aws-cdk-lib/aws-chatbot';

const project = new codebuild.PipelineProject(this, 'MyProject');

const topic = new sns.Topic(this, 'MyTopic1');

const slack = new chatbot.SlackChannelConfiguration(this, 'MySlackChannel', {
  slackChannelConfigurationName: 'YOUR_CHANNEL_NAME',
  slackWorkspaceId: 'YOUR_SLACK_WORKSPACE_ID',
  slackChannelId: 'YOUR_SLACK_CHANNEL_ID',
});

const rule = new notifications.NotificationRule(this, 'NotificationRule', {
  source: project,
  events: [
    'codebuild-project-build-state-succeeded',
    'codebuild-project-build-state-failed',
  ],
  targets: [topic],
});
rule.addTarget(slack);

Initializer

new NotificationRule(scope: Construct, id: string, props: NotificationRuleProps)

Parameters

  • scope Construct
  • id string
  • props NotificationRuleProps

Construct Props

NameTypeDescription
eventsstring[]A list of event types associated with this notification rule.
sourceINotificationRuleSourceThe Amazon Resource Name (ARN) of the resource to associate with the notification rule.
detailType?DetailTypeThe level of detail to include in the notifications for this resource.
enabled?booleanThe status of the notification rule.
notificationRuleName?stringThe name for the notification rule.
targets?INotificationRuleTarget[]The targets to register for the notification destination.

events

Type: string[]

A list of event types associated with this notification rule.

For a complete list of event types and IDs, see Notification concepts in the Developer Tools Console User Guide.

See also: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api


source

Type: INotificationRuleSource

The Amazon Resource Name (ARN) of the resource to associate with the notification rule.

Currently, Supported sources include pipelines in AWS CodePipeline, build projects in AWS CodeBuild, and repositories in AWS CodeCommit in this L2 constructor.

See also: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-resource


detailType?

Type: DetailType (optional, default: DetailType.FULL)

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 AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.


enabled?

Type: boolean (optional, default: true)

The status of the notification rule.

If the enabled is set to DISABLED, notifications aren't sent for the notification rule.


notificationRuleName?

Type: string (optional, default: generated from the id)

The name for the notification rule.

Notification rule names must be unique in your AWS account.


targets?

Type: INotificationRuleTarget[] (optional, default: No targets are added to the rule. Use addTarget() to add a target.)

The targets to register for the notification destination.

Properties

NameTypeDescription
envResourceEnvironmentThe environment this resource belongs to.
nodeNodeThe tree node.
notificationRuleArnstringThe ARN of the notification rule (i.e. arn:aws:codestar-notifications:::notificationrule/01234abcde).
stackStackThe stack in which this resource is defined.

env

Type: ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


node

Type: Node

The tree node.


notificationRuleArn

Type: string

The ARN of the notification rule (i.e. arn:aws:codestar-notifications:::notificationrule/01234abcde).


stack

Type: Stack

The stack in which this resource is defined.

Methods

NameDescription
addTarget(target)Adds target to notification rule.
applyRemovalPolicy(policy)Apply the given removal policy to this resource.
toString()Returns a string representation of this construct.
static fromNotificationRuleArn(scope, id, notificationRuleArn)Import an existing notification rule provided an ARN.

addTarget(target)

public addTarget(target: INotificationRuleTarget): boolean

Parameters

  • target INotificationRuleTarget — The SNS topic or AWS Chatbot Slack target.

Returns

  • boolean

Adds target to notification rule.


applyRemovalPolicy(policy)

public applyRemovalPolicy(policy: RemovalPolicy): void

Parameters

  • policy RemovalPolicy

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).


toString()

public toString(): string

Returns

  • string

Returns a string representation of this construct.


static fromNotificationRuleArn(scope, id, notificationRuleArn)

public static fromNotificationRuleArn(scope: Construct, id: string, notificationRuleArn: string): INotificationRule

Parameters

  • scope Construct — The parent creating construct.
  • id string — The construct's name.
  • notificationRuleArn string — Notification rule ARN (i.e. arn:aws:codestar-notifications:::notificationrule/01234abcde).

Returns

  • INotificationRule

Import an existing notification rule provided an ARN.