# CfnMailManagerRuleSetProps

Properties for defining a `CfnMailManagerRuleSet`.

Extends: CfnMailManagerRuleSetProps
Used as props by: CfnMailManagerRuleSet

- Source: Generated code
- Type last changed: v2.154.0 · 22 Aug 2024

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_ses as ses } from 'aws-cdk-lib';

declare const drop: any;
const cfnMailManagerRuleSetProps: ses.CfnMailManagerRuleSetProps = {
  rules: [{
    actions: [{
      addHeader: {
        headerName: 'headerName',
        headerValue: 'headerValue',
      },
      archive: {
        targetArchive: 'targetArchive',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
      },
      bounce: {
        diagnosticMessage: 'diagnosticMessage',
        roleArn: 'roleArn',
        sender: 'sender',
        smtpReplyCode: 'smtpReplyCode',
        statusCode: 'statusCode',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
        message: 'message',
      },
      deliverToMailbox: {
        mailboxArn: 'mailboxArn',
        roleArn: 'roleArn',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
      },
      deliverToQBusiness: {
        applicationId: 'applicationId',
        indexId: 'indexId',
        roleArn: 'roleArn',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
      },
      drop: drop,
      invokeLambda: {
        functionArn: 'functionArn',
        invocationType: 'invocationType',
        roleArn: 'roleArn',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
        retryTimeMinutes: 123,
      },
      publishToSns: {
        roleArn: 'roleArn',
        topicArn: 'topicArn',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
        encoding: 'encoding',
        payloadType: 'payloadType',
      },
      relay: {
        relay: 'relay',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
        mailFrom: 'mailFrom',
      },
      replaceRecipient: {
        replaceWith: ['replaceWith'],
      },
      send: {
        roleArn: 'roleArn',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
      },
      writeToS3: {
        roleArn: 'roleArn',
        s3Bucket: 's3Bucket',

        // the properties below are optional
        actionFailurePolicy: 'actionFailurePolicy',
        s3Prefix: 's3Prefix',
        s3SseKmsKeyId: 's3SseKmsKeyId',
      },
    }],

    // the properties below are optional
    conditions: [{
      booleanExpression: {
        evaluate: {
          analysis: {
            analyzer: 'analyzer',
            resultField: 'resultField',
          },
          attribute: 'attribute',
          isInAddressList: {
            addressLists: ['addressLists'],
            attribute: 'attribute',
          },
        },
        operator: 'operator',
      },
      dmarcExpression: {
        operator: 'operator',
        values: ['values'],
      },
      ipExpression: {
        evaluate: {
          attribute: 'attribute',
        },
        operator: 'operator',
        values: ['values'],
      },
      numberExpression: {
        evaluate: {
          attribute: 'attribute',
        },
        operator: 'operator',
        value: 123,
      },
      stringExpression: {
        evaluate: {
          analysis: {
            analyzer: 'analyzer',
            resultField: 'resultField',
          },
          attribute: 'attribute',
          clientCertificateAttribute: 'clientCertificateAttribute',
          mimeHeaderAttribute: 'mimeHeaderAttribute',
        },
        operator: 'operator',
        values: ['values'],
      },
      verdictExpression: {
        evaluate: {
          analysis: {
            analyzer: 'analyzer',
            resultField: 'resultField',
          },
          attribute: 'attribute',
        },
        operator: 'operator',
        values: ['values'],
      },
    }],
    name: 'name',
    unless: [{
      booleanExpression: {
        evaluate: {
          analysis: {
            analyzer: 'analyzer',
            resultField: 'resultField',
          },
          attribute: 'attribute',
          isInAddressList: {
            addressLists: ['addressLists'],
            attribute: 'attribute',
          },
        },
        operator: 'operator',
      },
      dmarcExpression: {
        operator: 'operator',
        values: ['values'],
      },
      ipExpression: {
        evaluate: {
          attribute: 'attribute',
        },
        operator: 'operator',
        values: ['values'],
      },
      numberExpression: {
        evaluate: {
          attribute: 'attribute',
        },
        operator: 'operator',
        value: 123,
      },
      stringExpression: {
        evaluate: {
          analysis: {
            analyzer: 'analyzer',
            resultField: 'resultField',
          },
          attribute: 'attribute',
          clientCertificateAttribute: 'clientCertificateAttribute',
          mimeHeaderAttribute: 'mimeHeaderAttribute',
        },
        operator: 'operator',
        values: ['values'],
      },
      verdictExpression: {
        evaluate: {
          analysis: {
            analyzer: 'analyzer',
            resultField: 'resultField',
          },
          attribute: 'attribute',
        },
        operator: 'operator',
        values: ['values'],
      },
    }],
  }],

  // the properties below are optional
  ruleSetName: 'ruleSetName',
  tags: [{
    key: 'key',
    value: 'value',
  }],
};
```

## Properties

- `rules`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnMailManagerRuleSet.RuleProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_ses.CfnMailManagerRuleSet.RuleProperty.html)[] (required) — Conditional rules that are evaluated for determining actions on email.

- `ruleSetName`: string — A user-friendly name for the rule set.

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — The tags used to organize, track, or control access for the resource.

  For example, { "tags": {"key1":"value1", "key2":"value2"} }.
