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

Configurations for sources.

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/flow-source-configuration.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0-alpha.0/packages/@aws-cdk/aws-mediaconnect-alpha/lib/flow-source-configuration.ts#L547)

## Example

```ts
declare const stack: Stack;
declare const securityGroup: ec2.ISecurityGroup;
declare const subnet: ec2.ISubnet;
declare const role: iam.IRole;

const vpcInterface = VpcInterface.define({
  vpcInterfaceName: 'my-vpc-interface',
  role: role,
  securityGroups: [securityGroup],
  subnet: subnet,
});

const flow = new Flow(stack, 'MyFlow', {
  source: SourceConfiguration.rist({
    flowSourceName: 'vpc-source',
    description: 'VPC-based source',
    port: 5000,
    maxLatency: Duration.millis(2000),
    network: NetworkConfiguration.vpc(vpcInterface),
  }),
  vpcInterfaces: [vpcInterface],
});
```

## Properties

- `flowSourceName`: string — The name of this source, if one was set on the configuration.

## Methods

- `cdi(input: SourceCdi): SourceConfiguration // chainable` (static) — Source option for CDI input.

- `entitlement(input: EntitlementSource): SourceConfiguration // chainable` (static) — The entitlement that allows you to subscribe to content that comes from another AWS account.

  The entitlement is set by the
  content originator and the ARN is generated as part of the originator's flow.

- `gatewayBridge(input: GatewayBridgeSource): SourceConfiguration // chainable` (static) — The source configuration for cloud flows receiving a stream from a bridge.

- `jpegXs(input: SourceJpegXs): SourceConfiguration // chainable` (static) — Source option for Jpeg-XS input.

- `ndi(input: SourceNdi): SourceConfiguration // chainable` (static) — Source option for NDI (SpeedHQ) input.

  The flow must be configured with `flowSize: FlowSize.LARGE` and
  `ndiConfig.ndiState = State.ENABLED` with at least one NDI discovery server.

- `rist(input: SourceRist): SourceConfiguration // chainable` (static) — Source option for RIST input.

- `router(input?: RouterSource): SourceConfiguration // chainable` (static) — The source configuration for flows receiving a stream from router.

- `rtp(input: SourceRtp): SourceConfiguration // chainable` (static) — Source option for RTP input.

- `rtpFec(input: SourceRtp): SourceConfiguration // chainable` (static) — Source option for RTP-FEC input.

- `srtCaller(input: SourceSrtCaller): SourceConfiguration // chainable` (static) — Source option for SRT Caller input.

- `srtListener(input: SourceSrtListener): SourceConfiguration // chainable` (static) — Source option for SRT Listener input.

- `zixiPush(input: SourceZixiPush): SourceConfiguration // chainable` (static) — Source option for Zixi Push input.
