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

An input attachment definition for a channel.

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

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as medialive_alpha from '@aws-cdk/aws-medialive-alpha';
import * as cdk from 'aws-cdk-lib';

declare const audioSelector: medialive_alpha.AudioSelector;
declare const bitrate: cdk.Bitrate;
declare const captionSelector: medialive_alpha.CaptionSelector;
declare const failoverCondition: medialive_alpha.FailoverCondition;
declare const hlsScte35Source: medialive_alpha.HlsScte35Source;
declare const input: medialive_alpha.Input;
declare const inputFilter: medialive_alpha.InputFilter;
declare const inputPreference: medialive_alpha.InputPreference;
declare const serverValidation: medialive_alpha.ServerValidation;
declare const smpte2038DataPreference: medialive_alpha.Smpte2038DataPreference;
declare const sourceEndBehavior: medialive_alpha.SourceEndBehavior;
declare const videoColorSpace: medialive_alpha.VideoColorSpace;
declare const videoColorSpaceUsage: medialive_alpha.VideoColorSpaceUsage;
declare const videoSelection: medialive_alpha.VideoSelection;
const inputAttachment: medialive_alpha.InputAttachment = {
  input: input,

  // the properties below are optional
  audioSelectors: [audioSelector],
  automaticInputFailover: {
    secondaryInput: input,

    // the properties below are optional
    errorClearTime: cdk.Duration.minutes(30),
    failoverConditions: [failoverCondition],
    inputPreference: inputPreference,
  },
  captionSelectors: [captionSelector],
  deblockFilter: false,
  denoiseFilter: false,
  filterStrength: 123,
  inputAttachmentName: 'inputAttachmentName',
  inputFilter: inputFilter,
  logicalInterfaceNames: ['logicalInterfaceNames'],
  networkInputSettings: {
    hlsInputSettings: {
      bandwidth: bitrate,
      bufferSegments: 123,
      retries: 123,
      retryInterval: cdk.Duration.minutes(30),
      scte35Source: hlsScte35Source,
    },
    multicastSourceIp: 'multicastSourceIp',
    serverValidation: serverValidation,
  },
  scte35Pid: 123,
  smpte2038DataPreference: smpte2038DataPreference,
  sourceEndBehavior: sourceEndBehavior,
  videoSelector: {
    colorSpace: videoColorSpace,
    colorSpaceUsage: videoColorSpaceUsage,
    hdr10: {
      maxContentLightLevel: 123,
      maxFrameAverageLightLevel: 123,
    },
    selectBy: videoSelection,
  },
};
```

## Properties

- `audioSelectors`: [AudioSelector](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.AudioSelector.html)[] — Audio selectors to extract specific audio tracks from the input.

  **Default:** no audio selectors (uses default audio)

- `automaticInputFailover`: [AutomaticInputFailover](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.AutomaticInputFailover.html) — Automatic input failover to a secondary input.

  **Default:** no automatic input failover

  When the active input meets any of the
  failover conditions, MediaLive switches to the secondary input without restarting the
  channel. This is input-source redundancy, distinct from the pipeline redundancy of
  `ChannelClass.STANDARD`.

- `captionSelectors`: [CaptionSelector](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.CaptionSelector.html)[] — Caption selectors to extract specific caption tracks from the input.

  **Default:** no caption selectors

- `deblockFilter`: boolean = false — Whether to enable the deblock filter.

- `denoiseFilter`: boolean = false — Whether to enable the denoise filter.

- `filterStrength`: number = 1 — The filter strength (1-5).

  1 is minimal, 5 is strongest.

- `input`: [IInput](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.IInput.html) (required) — The input to attach.

  [disable-awslint:prefer-ref-interface]

- `inputAttachmentName`: string = auto-generated — A name for this input attachment, used to reference it in schedule actions.

- `inputFilter`: [InputFilter](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.InputFilter.html) = InputFilter.AUTO — The input filter mode.

- `logicalInterfaceNames`: string[] — The logical interface names (MediaLive Anywhere) this input is wired to.

  **Default:** no logical interface names

  Each name maps the
  input to a network interface on the channel's nodes.

- `networkInputSettings`: [NetworkInputSettings](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.NetworkInputSettings.html) — Network input settings (for URL pull inputs — HLS buffer, server validation).

  **Default:** no network input settings

- `scte35Pid`: number = auto-detect — The SCTE-35 PID override for this input.

- `smpte2038DataPreference`: [Smpte2038DataPreference](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.Smpte2038DataPreference.html) = Smpte2038DataPreference.IGNORE — SMPTE-2038 ancillary data preference.

- `sourceEndBehavior`: [SourceEndBehavior](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.SourceEndBehavior.html) — The source end behavior for file-based inputs.

  **Default:** SourceEndBehavior.LOOP for MP4 and TS file inputs, SourceEndBehavior.CONTINUE for all others

- `videoSelector`: [VideoSelectorSettings](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.VideoSelectorSettings.html) — Video selector settings for the input (color space, PID selection).

  **Default:** no video selector (use default video)
