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

Interface for Flow.

Extends: IFlow
Extends: IResource, IFlowRef
Implemented by: Flow

- 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#L22)

## Properties

- `egressIp`: string — The IP address that the flow uses to send outbound content.

- `env`: [ResourceEnvironment](/cdk/api/v2/docs/aws-cdk-lib.interfaces.ResourceEnvironment.html) — The environment this resource belongs to.

  For resources that are created and managed in a Stack (those created by
  creating new class instances like `new Role()`, `new Bucket()`, etc.), this
  is always the same as the environment of the stack they belong to.

  For referenced resources (those obtained from referencing methods like
  `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
  different than the stack they were imported into.

- `flowArn`: string — The Amazon Resource Name (ARN) of the flow.

- `flowAvailabilityZone`: string — The Availability Zone that the flow was created in.

- `flowRef`: [FlowReference](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_mediaconnect.FlowReference.html) — A reference to a Flow resource.

- `grants`: [FlowGrants](/cdk/api/v2/docs/@aws-cdk_aws-mediaconnect-alpha.FlowGrants.html) — Collection of grant methods for this flow.

- `isFailoverEnabled`: boolean — Failover Configuration for flow.

- `node`: [Node](/cdk/api/v2/docs/constructs.Node.html) — The tree node.

- `sourceArn`: string — The Amazon Resource Name (ARN) of the source defined on the flow.

- `sourceIngestIp`: string — The IP address that the flow listens on for incoming content.

  Available for listener-style source protocols (RTP, RTP-FEC, RIST, SRT listener,
  Zixi push). Accessing this on SRT caller, entitlement, gateway bridge, router,
  CDI, JPEG XS, or imported flows throws — those sources don't expose a listening
  IP address.

- `sourceIngestPort`: string — The port that the flow listens on for incoming content.

  Available for the same listener-style source protocols as `sourceIngestIp`.
  Accessing this on SRT caller, entitlement, gateway bridge, router, CDI, JPEG XS,
  or imported flows throws.

- `sourceIngestUrl`: string — The full ingest URL for the flow source, combining protocol, IP, and port. For example: `srt://203.0.113.10:5000`.

  Available for listener-style source protocols (RTP, RTP-FEC, RIST, SRT listener,
  Zixi push) where the flow listens for an upstream sender. Accessing this on
  SRT caller, entitlement, gateway bridge, router, CDI, JPEG XS, or imported
  flows throws — those sources don't expose a single host:port ingest URL.

- `stack`: [Stack](/cdk/api/v2/docs/aws-cdk-lib.Stack.html) — The stack in which this resource is defined.

## Methods

- `addOutput(id: string, options: AddFlowOutputOptions): IFlowOutput` — Add an output to this flow.

- `applyRemovalPolicy(policy: RemovalPolicy): void` — Apply the given removal policy to this resource.

  The Removal Policy controls what happens to this resource when it stops
  being managed by CloudFormation, either because you've removed it from the
  CDK application or because you've made a change that requires the resource
  to be replaced.

  The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
  account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).

- `metric(metricName: string, props?: MetricOptions): Metric` — Create a CloudWatch metric for this flow.

- `metricSourceBitrate(props?: MetricOptions): Metric` — Metric for the bitrate of content ingested into the flow.

- `metricSourceConnected(props?: MetricOptions): Metric` — Metric indicating the connection state of the source (1 connected, 0 disconnected).

  Applies only to Zixi, SRT, and RIST sources.

- `metricSourceDisconnections(props?: MetricOptions): Metric` — Metric for the number of times the source transitioned from connected to disconnected.

- `metricSourceDroppedPackets(props?: MetricOptions): Metric` — Metric for the number of packets lost during transit, measured before any error correction.

- `metricSourceJitter(props?: MetricOptions): Metric` — Metric for the current network jitter of the source, measured in milliseconds.

- `metricSourceNotRecoveredPackets(props?: MetricOptions): Metric` — Metric for packets that were not recovered by the flow source.

- `metricSourcePacketLossPercent(props?: MetricOptions): Metric` — Metric for the percentage of packets lost during transit, even if they were recovered.

- `metricSourceRoundTripTime(props?: MetricOptions): Metric` — Metric for the round-trip time between the source and MediaConnect.

  Applies only to RIST, Zixi, and SRT sources.

- `metricSourceSelected(props?: MetricOptions): Metric` — Metric indicating which source is selected for ingest when using `Failover` failover mode.

- `metricSourceTotalPackets(props?: MetricOptions): Metric` — Metric for the total number of packets received by the flow source.

- `with(...mixins: IMixin[]): IConstruct` — Applies one or more mixins to this construct.

  Mixins are applied in order. The list of constructs is captured at the
  start of the call, so constructs added by a mixin will not be visited.

  **Parameters**

  - `mixins` — The mixins to apply.

  **Returns:** This construct for chaining
