# CfnSubscriberProps

Properties for defining a `CfnSubscriber`.

Extends: CfnSubscriberProps
Used as props by: CfnSubscriber

- Source: Generated code
- Type last changed: v2.275.0 · 26 Oct 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_eventsv2 as eventsv2 } from 'aws-cdk-lib';
const cfnSubscriberProps: eventsv2.CfnSubscriberProps = {
  eventBusArn: 'eventBusArn',
  invokeConfiguration: {
    roleArn: 'roleArn',
    targetArn: 'targetArn',

    // the properties below are optional
    eventBusV2Parameters: {
      deduplicationConfiguration: {
        deduplicationType: 'deduplicationType',
      },
      metadata: {
        metadataKey: 'metadata',
      },
      systemMetadata: {
        deduplicationId: 'deduplicationId',
        eventGroupId: 'eventGroupId',
      },
    },
    httpParameters: {
      headerParameters: {
        headerParametersKey: 'headerParameters',
      },
      invocationTimeoutSeconds: 'invocationTimeoutSeconds',
      pathParameterValues: ['pathParameterValues'],
      queryStringParameters: {
        queryStringParametersKey: 'queryStringParameters',
      },
    },
    kinesisParameters: {
      explicitHashKey: 'explicitHashKey',
      partitionKey: 'partitionKey',
    },
    lambdaParameters: {
      durableExecutionName: 'durableExecutionName',
      invocationTimeoutSeconds: 'invocationTimeoutSeconds',
      invocationType: 'invocationType',
      qualifier: 'qualifier',
      tenantId: 'tenantId',
    },
    snsParameters: {
      messageAttributes: {
        messageAttributesKey: {
          dataType: 'dataType',

          // the properties below are optional
          binaryValue: 'binaryValue',
          stringValue: 'stringValue',
        },
      },
      messageDeduplicationId: 'messageDeduplicationId',
      messageGroupId: 'messageGroupId',
      messageStructure: 'messageStructure',
      subject: 'subject',
    },
    sqsParameters: {
      delaySeconds: 'delaySeconds',
      messageAttributes: {
        messageAttributesKey: {
          dataType: 'dataType',

          // the properties below are optional
          binaryValue: 'binaryValue',
          stringValue: 'stringValue',
        },
      },
      messageDeduplicationId: 'messageDeduplicationId',
      messageGroupId: 'messageGroupId',
      messageSystemAttributes: {
        messageSystemAttributesKey: {
          dataType: 'dataType',

          // the properties below are optional
          binaryValue: 'binaryValue',
          stringValue: 'stringValue',
        },
      },
    },
    stepFunctionsParameters: {
      invocationTimeoutSeconds: 'invocationTimeoutSeconds',
      invocationType: 'invocationType',
      name: 'name',
      traceHeader: 'traceHeader',
    },
    universalTargetParameters: {
      input: 'input',

      // the properties below are optional
      invocationTimeoutSeconds: 'invocationTimeoutSeconds',
    },
  },
  name: 'name',

  // the properties below are optional
  batchConfiguration: {
    maxBatchSize: 123,
    maxBatchWindowInSeconds: 123,
  },
  description: 'description',
  filterConfiguration: {
    filters: [{
      pattern: 'pattern',
      scope: 'scope',
    }],

    // the properties below are optional
    language: 'language',
  },
  logConfiguration: {
    includePayload: 'includePayload',
    level: 'level',
  },
  onFailureConfiguration: {
    arn: 'arn',
  },
  pointInTimeConfiguration: {
    pointType: 'pointType',

    // the properties below are optional
    endPoint: 123,
    startingPoint: 123,
  },
  resumePosition: 'resumePosition',
  retryPolicy: {
    maxEventAgeInSeconds: 123,
    maxRetryAttempts: 123,
    retryStrategy: 'retryStrategy',
  },
  startingPosition: 'startingPosition',
  state: 'state',
  tags: [{
    key: 'key',
    value: 'value',
  }],
  transformer: {
    jsonataConfiguration: {
      expression: 'expression',
    },
    type: 'type',
  },
  type: 'type',
};
```

## Properties

- `batchConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnSubscriber.BatchConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eventsv2.CfnSubscriber.BatchConfigurationProperty.html) — Configuration for batching events into a single delivery.

- `description`: string — A description of the subscriber.

  Control characters and Unicode line separators are not allowed.

- `eventBusArn`: string (required) — The ARN of the event bus this subscriber belongs to.

- `filterConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnSubscriber.FilterConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eventsv2.CfnSubscriber.FilterConfigurationProperty.html) — Configuration for filtering which events are delivered to the target.

  An event must match every filter to be delivered.

- `invokeConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnSubscriber.InvokeConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eventsv2.CfnSubscriber.InvokeConfigurationProperty.html) (required) — Configuration for how the subscriber invokes its target.

  Specify the target ARN, the IAM role, and, optionally, the target-specific parameters object that matches the target type.

- `logConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnSubscriber.LogConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eventsv2.CfnSubscriber.LogConfigurationProperty.html) — Delivery logging configuration.

- `name`: string (required) — The name of the subscriber.

  The first character must be alphanumeric; the remaining characters may also include '.', '-', and '_'.

- `onFailureConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnSubscriber.OnFailureConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eventsv2.CfnSubscriber.OnFailureConfigurationProperty.html) — The destination for events that could not be delivered.

- `pointInTimeConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnSubscriber.PointInTimeConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eventsv2.CfnSubscriber.PointInTimeConfigurationProperty.html) — The point in time to start delivering events from, used when StartingPosition is POINT_IN_TIME.

- `resumePosition`: string — Resume-time control, never returned by the service.

  Applied only when an update transitions State from STOPPED to RUNNING: LAST_PROCESSED (default) resumes from the last processed event, LATEST skips to the newest. Ignored on create and on any update that does not perform that transition.

- `retryPolicy`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnSubscriber.RetryPolicyProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eventsv2.CfnSubscriber.RetryPolicyProperty.html) — The retry policy for failed deliveries.

- `startingPosition`: string — Where the subscriber starts reading events: LATEST starts from the newest events;

  POINT_IN_TIME starts from the point specified in PointInTimeConfiguration.

- `state`: string — The run state of the subscriber.

  Events are delivered only while the state is RUNNING. Setting the state to STOPPED pauses delivery. When an update sets a stopped subscriber back to RUNNING, ResumePosition controls where delivery resumes.

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — The tags assigned to the subscriber.

- `transformer`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnSubscriber.TransformerProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eventsv2.CfnSubscriber.TransformerProperty.html) — Configuration for transforming events before delivery: the raw payload, the payload with its metadata envelope, or the output of a JSONata expression.

- `type`: string — The delivery ordering mode of the subscriber.

  FIFO delivers events in order within an event group; UNORDERED delivers without an ordering guarantee.
