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

Transit-encryption settings for a MediaConnect Router output group, applied per channel pipeline.

Omit the output group's `routerSettings` entirely for AUTOMATIC (service-managed) encryption on
every pipeline. Use `shared()` to apply one secret across all pipelines, or `perPipeline()` to
control each pipeline independently.

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/destinations.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0-alpha.0/packages/@aws-cdk/aws-medialive-alpha/lib/destinations.ts#L430)

## Example

```ts
declare const video: medialive.EncodeConfiguration;
declare const audio: medialive.EncodeConfiguration;
declare const passphrase: secretsmanager.ISecret;
declare const passphrase1: secretsmanager.ISecret;

// AUTOMATIC encryption on every pipeline (MPEG-TS container, like UDP)
medialive.OutputGroupConfiguration.mediaConnectRouter({
  name: 'router_out',
  availabilityZones: ['us-east-1a'],
  outputs: [{ encodes: [video, audio], outputName: 'router_ts' }],
});

// One shared Secrets Manager passphrase across all pipelines (SECRETS_MANAGER encryption)
medialive.OutputGroupConfiguration.mediaConnectRouter({
  name: 'router_out',
  availabilityZones: ['us-east-1a'],
  routerSettings: medialive.MediaConnectRouterSettings.shared({ encryptionSecret: passphrase }),
  outputs: [{ encodes: [video, audio], outputName: 'router_ts' }],
});

// Distinct encryption per pipeline — an omitted pipeline stays AUTOMATIC (STANDARD channels)
medialive.OutputGroupConfiguration.mediaConnectRouter({
  name: 'router_out',
  availabilityZones: ['us-east-1a', 'us-east-1b'],
  routerSettings: medialive.MediaConnectRouterSettings.perPipeline({
    pipeline1: { encryptionSecret: passphrase1 },
  }),
  outputs: [{ encodes: [video, audio], outputName: 'router_ts' }],
});
```

## Initializer

```ts
new MediaConnectRouterSettings()
```

## Methods

- `perPipeline(settings: MediaConnectRouterPerPipelineSettings): MediaConnectRouterSettings // chainable` (static) — Configure each pipeline independently.

  An omitted pipeline uses AUTOMATIC encryption.

- `shared(settings?: MediaConnectRouterPipelineConfig): MediaConnectRouterSettings // chainable` (static) — Apply the same settings to every pipeline.

  **Parameters**

  - `settings` — the settings to apply to all pipelines.
