Interface CustomRuleProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable, RuleProps
All Known Implementing Classes:
CustomRuleProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:48.617Z") @Stability(Stable) public interface CustomRuleProps extends software.amazon.jsii.JsiiSerializable, RuleProps
Construction properties for a CustomRule.

Example:

 // Lambda function containing logic that evaluates compliance with the rule.
 Function evalComplianceFn = Function.Builder.create(this, "CustomFunction")
         .code(AssetCode.fromInline("exports.handler = (event) => console.log(event);"))
         .handler("index.handler")
         .runtime(Runtime.NODEJS_14_X)
         .build();
 // A custom rule that runs on configuration changes of EC2 instances
 CustomRule customRule = CustomRule.Builder.create(this, "Custom")
         .configurationChanges(true)
         .lambdaFunction(evalComplianceFn)
         .ruleScope(RuleScope.fromResource(ResourceType.EC2_INSTANCE))
         .build();
 // A rule to detect stack drifts
 CloudFormationStackDriftDetectionCheck driftRule = new CloudFormationStackDriftDetectionCheck(this, "Drift");
 // Topic to which compliance notification events will be published
 Topic complianceTopic = new Topic(this, "ComplianceTopic");
 // Send notification on compliance change events
 driftRule.onComplianceChange("ComplianceChange", OnEventOptions.builder()
         .target(new SnsTopic(complianceTopic))
         .build());
 
  • Method Details

    • getLambdaFunction

      @Stability(Stable) @NotNull IFunction getLambdaFunction()
      The Lambda function to run.
    • getConfigurationChanges

      @Stability(Stable) @Nullable default Boolean getConfigurationChanges()
      Whether to run the rule on configuration changes.

      Default: false

    • getPeriodic

      @Stability(Stable) @Nullable default Boolean getPeriodic()
      Whether to run the rule on a fixed frequency.

      Default: false

    • builder

      @Stability(Stable) static CustomRuleProps.Builder builder()
      Returns:
      a CustomRuleProps.Builder of CustomRuleProps