java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.mediaconnect.alpha.RouterInput
All Implemented Interfaces:
IEnvironmentAware, IRouterInputRef, IResource, IRouterInput, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.138.0 (build 0ca7ee8)", date="2026-07-31T10:49:55.194Z") @Stability(Experimental) public class RouterInput extends Resource implements IRouterInput
(experimental) Defines an AWS Elemental MediaConnect Router Input.

Example:

 Stack stack;
 RouterNetworkInterface networkInterface;
 RouterInput input = RouterInput.Builder.create(stack, "FailoverInput")
         .routerInputName("failover-input")
         .maximumBitrate(Bitrate.mbps(10))
         .routingScope(RoutingScope.REGIONAL)
         .tier(RouterInputTier.INPUT_50)
         .configuration(RouterInputConfiguration.failover(FailoverConfigurationProps.builder()
                 .networkInterface(networkInterface)
                 .protocols(List.of(RouterInputProtocol.rist(RistProtocolProps.builder()
                         .port(5000)
                         .recoveryLatency(Duration.millis(1000))
                         .build()), RouterInputProtocol.rist(RistProtocolProps.builder()
                         .port(5002) // Must not be consecutive with primary port
                         .recoveryLatency(Duration.millis(1000))
                         .build())))
                 .sourcePriority(SourcePriorityConfig.primarySecondary(PrimarySource.FIRST_SOURCE))
                 .build()))
         .build();
 
  • Field Details

    • PROPERTY_INJECTION_ID

      @Stability(Experimental) public static final String PROPERTY_INJECTION_ID
      (experimental) Uniquely identifies this class.
  • Constructor Details

    • RouterInput

      protected RouterInput(software.amazon.jsii.JsiiObjectRef objRef)
    • RouterInput

      protected RouterInput(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • RouterInput

      @Stability(Experimental) public RouterInput(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull RouterInputProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • fromRouterInputArn

      @Stability(Experimental) @NotNull public static IRouterInput fromRouterInputArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String routerInputArn)
      (experimental) Import an existing Router Input from its ARN.

      Use fromRouterInputAttributes() instead if you need to expose routerInputId or ipAddress on the imported construct.

      Parameters:
      scope - The parent construct. This parameter is required.
      id - The construct id. This parameter is required.
      routerInputArn - The ARN of the Router Input. This parameter is required.
      Returns:
      A Router Input construct
    • fromRouterInputAttributes

      @Stability(Experimental) @NotNull public static IRouterInput fromRouterInputAttributes(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull RouterInputAttributes attrs)
      (experimental) Import an existing Router Input from its attributes.

      Provide routerInputId and/or ipAddress when importing an input that was deployed externally — otherwise accessing those properties on the imported construct will throw.

      Parameters:
      scope - The parent construct. This parameter is required.
      id - The construct id. This parameter is required.
      attrs - The Router Input attributes. This parameter is required.
      Returns:
      A Router Input construct
    • metric

      @Stability(Experimental) @NotNull public Metric metric(@NotNull String metricName, @Nullable MetricOptions props)
      (experimental) Create a CloudWatch metric for this router input.

      Specified by:
      metric in interface IRouterInput
      Parameters:
      metricName - This parameter is required.
      props -
    • metric

      @Stability(Experimental) @NotNull public Metric metric(@NotNull String metricName)
      (experimental) Create a CloudWatch metric for this router input.

      Specified by:
      metric in interface IRouterInput
      Parameters:
      metricName - This parameter is required.
    • metricBitrate

      @Stability(Experimental) @NotNull public Metric metricBitrate(@Nullable MetricOptions props)
      (experimental) Metric for the bitrate of the router input's payload.

      Specified by:
      metricBitrate in interface IRouterInput
      Parameters:
      props -
    • metricBitrate

      @Stability(Experimental) @NotNull public Metric metricBitrate()
      (experimental) Metric for the bitrate of the router input's payload.
      Specified by:
      metricBitrate in interface IRouterInput
    • metricConnected

      @Stability(Experimental) @NotNull public Metric metricConnected(@Nullable MetricOptions props)
      (experimental) Metric for the router input connection state (1 connected, 0 disconnected).

      Applies to SRT sources only.

      Specified by:
      metricConnected in interface IRouterInput
      Parameters:
      props -
    • metricConnected

      @Stability(Experimental) @NotNull public Metric metricConnected()
      (experimental) Metric for the router input connection state (1 connected, 0 disconnected).

      Applies to SRT sources only.

      Specified by:
      metricConnected in interface IRouterInput
    • metricContinuityCounterErrors

      @Stability(Experimental) @NotNull public Metric metricContinuityCounterErrors(@Nullable MetricOptions props)
      (experimental) Metric for continuity counter errors in the transport stream.

      Specified by:
      metricContinuityCounterErrors in interface IRouterInput
      Parameters:
      props -
    • metricContinuityCounterErrors

      @Stability(Experimental) @NotNull public Metric metricContinuityCounterErrors()
      (experimental) Metric for continuity counter errors in the transport stream.
      Specified by:
      metricContinuityCounterErrors in interface IRouterInput
    • metricFailoverSwitches

      @Stability(Experimental) @NotNull public Metric metricFailoverSwitches(@Nullable MetricOptions props)
      (experimental) Metric for the number of times the router input has switched sources in Failover mode.

      Specified by:
      metricFailoverSwitches in interface IRouterInput
      Parameters:
      props -
    • metricFailoverSwitches

      @Stability(Experimental) @NotNull public Metric metricFailoverSwitches()
      (experimental) Metric for the number of times the router input has switched sources in Failover mode.
      Specified by:
      metricFailoverSwitches in interface IRouterInput
    • metricLatency

      @Stability(Experimental) @NotNull public Metric metricLatency(@Nullable MetricOptions props)
      (experimental) Metric for the recovery latency of the input stream.

      Applies to RIST, SRT, and RTP-FEC.

      Specified by:
      metricLatency in interface IRouterInput
      Parameters:
      props -
    • metricLatency

      @Stability(Experimental) @NotNull public Metric metricLatency()
      (experimental) Metric for the recovery latency of the input stream.

      Applies to RIST, SRT, and RTP-FEC.

      Specified by:
      metricLatency in interface IRouterInput
    • metricNotRecoveredPackets

      @Stability(Experimental) @NotNull public Metric metricNotRecoveredPackets(@Nullable MetricOptions props)
      (experimental) Metric for packets lost in transit that were not recovered by error correction.

      Specified by:
      metricNotRecoveredPackets in interface IRouterInput
      Parameters:
      props -
    • metricNotRecoveredPackets

      @Stability(Experimental) @NotNull public Metric metricNotRecoveredPackets()
      (experimental) Metric for packets lost in transit that were not recovered by error correction.
      Specified by:
      metricNotRecoveredPackets in interface IRouterInput
    • metricTotalPackets

      @Stability(Experimental) @NotNull public Metric metricTotalPackets(@Nullable MetricOptions props)
      (experimental) Metric for the total number of packets received by the router input.

      Specified by:
      metricTotalPackets in interface IRouterInput
      Parameters:
      props -
    • metricTotalPackets

      @Stability(Experimental) @NotNull public Metric metricTotalPackets()
      (experimental) Metric for the total number of packets received by the router input.
      Specified by:
      metricTotalPackets in interface IRouterInput
    • getEndpoints

      @Stability(Experimental) @NotNull public List<RouterInputEndpoint> getEndpoints()
      (experimental) The ingest endpoints (URL + port) where the router input listens.

      Returns one entry for standard protocol-based variants (RTP, RIST, SRT listener), and one entry per source for failover and merge configurations built from those protocols. For example a failover RTP input will return:

       [
         { url: 'rtp://203.0.113.10:5000', port: 5000 },
         { url: 'rtp://203.0.113.10:5001', port: 5001 },
       ]
       

      Accessing this on SRT caller (where the router input dials out to a remote source), MediaConnect Flow, MediaLive Channel, or imported inputs throws — those variants do not expose host:port pairs the input listens on.

      Specified by:
      getEndpoints in interface IRouterInput
    • getGrants

      @Stability(Experimental) @NotNull public RouterInputGrants getGrants()
      (experimental) Collection of grant methods for this router input.
      Specified by:
      getGrants in interface IRouterInput
    • getIpAddress

      @Stability(Experimental) @NotNull public String getIpAddress()
      (experimental) The IP address of the router input.
      Specified by:
      getIpAddress in interface IRouterInput
    • getRouterInputArn

      @Stability(Experimental) @NotNull public String getRouterInputArn()
      (experimental) The Amazon Resource Name (ARN) of the router input.
      Specified by:
      getRouterInputArn in interface IRouterInput
    • getRouterInputId

      @Stability(Experimental) @NotNull public String getRouterInputId()
      (experimental) The unique identifier of the router input.
      Specified by:
      getRouterInputId in interface IRouterInput
    • getRouterInputRef

      @Stability(Experimental) @NotNull public RouterInputReference getRouterInputRef()
      (experimental) A reference to this Router Input resource.

      Required by the auto-generated IRouterInputRef interface.

      Specified by:
      getRouterInputRef in interface IRouterInputRef
    • getCreatedAt

      @Stability(Experimental) @Nullable public String getCreatedAt()
      (experimental) The timestamp when the router input was created.
      Specified by:
      getCreatedAt in interface IRouterInput
    • getTransitEncryptionSecret

      @Stability(Experimental) @Nullable public ISecret getTransitEncryptionSecret()
      (experimental) The Secrets Manager secret containing the transit encryption passphrase.

      Only available when the Router Input was created with explicit transitEncryption configuration. Not available for automatic encryption or imported inputs.

      Specified by:
      getTransitEncryptionSecret in interface IRouterInput
    • getUpdatedAt

      @Stability(Experimental) @Nullable public String getUpdatedAt()
      (experimental) The timestamp when the router input was last updated.
      Specified by:
      getUpdatedAt in interface IRouterInput