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

Configuration for NDI Config.

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

## Example

```ts
declare const stack: Stack;
declare const ndiVpcInterface: VpcInterfaceConfig;
declare const efaInterface: VpcInterfaceConfig;
declare const videoStream: MediaStream;

// NDI requires LARGE, an encoding profile, and at least one discovery server
new Flow(stack, 'NdiFlow', {
  flowSize: FlowSize.LARGE,
  ndiConfig: {
    ndiState: State.ENABLED,
    ndiDiscoveryServers: [{
      discoveryServerAddress: '10.0.0.10',
      vpcInterface: ndiVpcInterface,
    }],
  },
  encodingConfig: {
    encodingProfile: EncodingProfile.CONTRIBUTION_H264_DEFAULT,
  },
  source: SourceConfiguration.ndi({
    flowSourceName: 'ndi-source',
  }),
});

// CDI and JPEG XS require LARGE_4X
new Flow(stack, 'CdiFlow', {
  flowSize: FlowSize.LARGE_4X,
  vpcInterfaces: [efaInterface],
  mediaStreams: [videoStream],
  source: SourceConfiguration.cdi({
    flowSourceName: 'cdi-source',
    vpcInterface: efaInterface,
    port: 5000,
    maxSyncBuffer: 100,
    mediaStreamSourceConfigurations: [{
      encoding: Encoding.RAW,
      mediaStream: videoStream,
    }],
  }),
});
```

## Properties

- `machineName`: string — A prefix for the names of the NDI sources that the flow creates.

  **Default:** MediaConnect generates a unique 12-character ID

  If a custom name isn't specified, MediaConnect generates a unique 12-character ID as the prefix.

- `ndiDiscoveryServers`: [NdiDiscoveryServerConfig](/cdk/api/v2/docs/@aws-cdk_aws-mediaconnect-alpha.NdiDiscoveryServerConfig.html)[] — Specifies the configuration settings for individual NDI discovery servers.

  **Default:** no NDI discovery servers

  A maximum of 3 servers is allowed.

- `ndiState`: [State](/cdk/api/v2/docs/@aws-cdk_aws-mediaconnect-alpha.State.html) = State.DISABLED — A setting that controls whether NDI sources or outputs can be used in the flow.

  Must be ENABLED for the flow to support NDI sources or outputs.
