# CustomRuleProps

Construction properties for a CustomRule.

Extends: CustomRuleProps
Extends: RuleProps
Used as props by: CustomRule

- Source: [`aws-config/lib/rule.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-config/lib/rule.ts#L410)

## Example

```ts
declare const fn: lambda.Function;
declare const samplePolicyText: string;

new config.ManagedRule(this, 'ManagedRule', {
  identifier: config.ManagedRuleIdentifiers.API_GW_XRAY_ENABLED,
  evaluationModes: config.EvaluationMode.DETECTIVE_AND_PROACTIVE,
});

new config.CustomRule(this, 'CustomRule', {
  lambdaFunction: fn,
  evaluationModes: config.EvaluationMode.PROACTIVE,
});

new config.CustomPolicy(this, 'CustomPolicy', {
  policyText: samplePolicyText,
  evaluationModes: config.EvaluationMode.DETECTIVE,
});
```

## Properties

- `configRuleName`: string — A name for the AWS Config rule.

  **Default:** CloudFormation generated name

- `configurationChanges`: boolean = false — Whether to run the rule on configuration changes.

- `description`: string — A description about this AWS Config rule.

  **Default:** No description

- `evaluationModes`: [EvaluationMode](/cdk/api/v2/docs/aws-cdk-lib.aws_config.EvaluationMode.html) — The modes the AWS Config rule can be evaluated in.

  **Default:** Detective evaluation mode only

  The valid values are distinct objects.

- `inputParameters`: { [key: string]: any } — Input parameter values that are passed to the AWS Config rule.

  **Default:** No input parameters

- `lambdaFunction`: [IFunction](/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.IFunction.html) (required) — The Lambda function to run.

- `maximumExecutionFrequency`: [MaximumExecutionFrequency](/cdk/api/v2/docs/aws-cdk-lib.aws_config.MaximumExecutionFrequency.html) — The maximum frequency at which the AWS Config rule runs evaluations.

  **Default:** MaximumExecutionFrequency.TWENTY_FOUR_HOURS

- `periodic`: boolean = false — Whether to run the rule on a fixed frequency.

- `ruleScope`: [RuleScope](/cdk/api/v2/docs/aws-cdk-lib.aws_config.RuleScope.html) — Defines which resources trigger an evaluation for an AWS Config rule.

  **Default:** evaluations for the rule are triggered when any resource in the recording group changes.
