# CfnChannelProps

Properties for defining a `CfnChannel`.

Extends: CfnChannelProps
Used as props by: CfnChannel

- Source: Generated code
- Type last changed: v2.272.0 · 30 Sep 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_kinesis as kinesis } from 'aws-cdk-lib';
const cfnChannelProps: kinesis.CfnChannelProps = {
  channelName: 'channelName',
  serviceExecutionRoleArn: 'serviceExecutionRoleArn',
  streamConfigurationList: [{
    recordConfiguration: {
      recordFormatType: 'recordFormatType',

      // the properties below are optional
      gsrSchemaArn: 'gsrSchemaArn',
    },
    streamArn: 'streamArn',
  }],

  // the properties below are optional
  encryptionConfiguration: {
    encryptionType: 'encryptionType',
    keyId: 'keyId',
  },
  loggingConfiguration: {
    cloudWatchLogs: {
      enabled: false,

      // the properties below are optional
      logGroupName: 'logGroupName',
      logStreamName: 'logStreamName',
    },
  },
  s3DestinationConfiguration: {
    storageConfiguration: {
      bucketArn: 'bucketArn',
      compressionType: 'compressionType',
      expectedBucketOwner: 'expectedBucketOwner',

      // the properties below are optional
      outputKeyTemplate: 'outputKeyTemplate',
      storageClass: 'storageClass',
    },

    // the properties below are optional
    dataFreshnessInSeconds: 123,
    deadLetterQueueS3Configuration: {
      bucketArn: 'bucketArn',
      expectedBucketOwner: 'expectedBucketOwner',

      // the properties below are optional
      errorOutputPrefix: 'errorOutputPrefix',
    },
  },
  s3TablesDestinationConfiguration: {
    deadLetterQueueS3Configuration: {
      bucketArn: 'bucketArn',
      expectedBucketOwner: 'expectedBucketOwner',

      // the properties below are optional
      errorOutputPrefix: 'errorOutputPrefix',
    },
    s3TablesConfigurationList: [{
      compressionType: 'compressionType',
      namespace: 'namespace',
      tableBucketArn: 'tableBucketArn',
      tableName: 'tableName',

      // the properties below are optional
      partitionSpec: {
        partitionFields: [{
          sourceName: 'sourceName',
          transform: 'transform',
        }],
      },
    }],

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

## Properties

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

  The name's uniqueness is scoped per AWS account and region.

- `encryptionConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnChannel.EncryptionConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.CfnChannel.EncryptionConfigurationProperty.html) — Server-side encryption configuration for data at rest in the destination.

  Data delivered to S3 / S3 Tables is encrypted with the same key.

- `loggingConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnChannel.LoggingConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.CfnChannel.LoggingConfigurationProperty.html) — Configuration for delivering channel operational logs.

- `s3DestinationConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnChannel.S3DestinationConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.CfnChannel.S3DestinationConfigurationProperty.html) — Configuration for delivery to a vanilla S3 bucket destination.

  Exactly one of S3DestinationConfiguration and S3TablesDestinationConfiguration must be specified on the channel.

- `s3TablesDestinationConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnChannel.S3TablesDestinationConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.CfnChannel.S3TablesDestinationConfigurationProperty.html) — Configuration for delivery to S3 Tables destinations.

  Exactly one of S3DestinationConfiguration and S3TablesDestinationConfiguration must be specified on the channel.

- `serviceExecutionRoleArn`: string (required) — The ARN of the IAM role that the channel assumes to read from the source stream, deliver records to the destination, and (when enabled) write CloudWatch Logs.

- `streamConfigurationList`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnChannel.StreamConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.CfnChannel.StreamConfigurationProperty.html)[] (required) — List of stream configurations associated with the channel.

  v1 supports a single element; the list shape allows future extensibility to fan in from multiple streams.

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — An arbitrary set of tags (key-value pairs) to associate with the Kinesis channel.
