> **Experimental**
>
> `@aws-cdk/aws-mediapackagev2-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# ChannelOptions

Configuration options for an AWS Elemental MediaPackage V2 Channel.

Used when creating a channel via `ChannelGroup.addChannel()`.

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/channel.ts`](https://github.com/aws/aws-cdk/blob/v2.276.0-alpha.0/packages/@aws-cdk/aws-mediapackagev2-alpha/lib/channel.ts#L289)

## Example

```ts
declare const stack: Stack;

// Create a channel group
const group = new ChannelGroup(stack, 'MyChannelGroup', {
  channelGroupName: 'my-channel-group',
});

// Add a channel using the factory method
const channel = group.addChannel('MyChannel', {
  channelName: 'my-channel',
  input: InputConfiguration.cmaf(),
});

// Add an origin endpoint using the factory method
const endpoint = channel.addOriginEndpoint('MyEndpoint', {
  originEndpointName: 'my-endpoint',
  segment: Segment.cmaf(),
  manifests: [Manifest.hls({ manifestName: 'index' })],
});
```

## Properties

- `channelName`: string = autogenerated — The name that describes the channel.

  The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group.

- `description`: string — Enter any descriptive text that helps you to identify the channel.

  **Default:** no description

- `input`: [InputConfiguration](/cdk/api/v2/docs/@aws-cdk_aws-mediapackagev2-alpha.InputConfiguration.html) = InputConfiguration.cmaf() — Input configuration for the channel.

  Use InputConfiguration.hls() or InputConfiguration.cmaf() to create the configuration.

- `removalPolicy`: [RemovalPolicy](/cdk/api/v2/docs/aws-cdk-lib.RemovalPolicy.html) = RemovalPolicy.DESTROY — Policy to apply when the channel is removed from the stack.

  Even though MediaPackage ChannelGroups, Channels and OriginEndpoints are technically stateful,
  their contents are transient and it is common to add and remove these while rearchitecting your application.
  The default is therefore `DESTROY`. Change it to `RETAIN` if the content (in a lookback window) are so
  valuable that accidentally losing it would be unacceptable.

- `tags`: { [key: string]: string } — Tags to add to the Channel.

  **Default:** No tagging
