java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-27T17:02:04.743Z") @Stability(Stable) public class CfnFlow extends CfnResource implements IInspectable
The AWS::MediaConnect::Flow resource defines a connection between one or more video sources and one or more outputs.

For each flow, you specify the transport protocol to use, encryption information, and details for any outputs or entitlements that you want. AWS Elemental MediaConnect returns an ingest endpoint where you can send your live video as a single unicast stream. The service replicates and distributes the video to every output that you specify, whether inside or outside the AWS Cloud. You can also set up entitlements on a flow to allow other AWS accounts to access your content.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.mediaconnect.*;
 CfnFlow cfnFlow = CfnFlow.Builder.create(this, "MyCfnFlow")
         .name("name")
         .source(SourceProperty.builder()
                 .decryption(EncryptionProperty.builder()
                         .roleArn("roleArn")
                         // the properties below are optional
                         .algorithm("algorithm")
                         .constantInitializationVector("constantInitializationVector")
                         .deviceId("deviceId")
                         .keyType("keyType")
                         .region("region")
                         .resourceId("resourceId")
                         .secretArn("secretArn")
                         .url("url")
                         .build())
                 .description("description")
                 .entitlementArn("entitlementArn")
                 .gatewayBridgeSource(GatewayBridgeSourceProperty.builder()
                         .bridgeArn("bridgeArn")
                         // the properties below are optional
                         .vpcInterfaceAttachment(VpcInterfaceAttachmentProperty.builder()
                                 .vpcInterfaceName("vpcInterfaceName")
                                 .build())
                         .build())
                 .ingestIp("ingestIp")
                 .ingestPort(123)
                 .maxBitrate(123)
                 .maxLatency(123)
                 .maxSyncBuffer(123)
                 .mediaStreamSourceConfigurations(List.of(MediaStreamSourceConfigurationProperty.builder()
                         .encodingName("encodingName")
                         .mediaStreamName("mediaStreamName")
                         // the properties below are optional
                         .inputConfigurations(List.of(InputConfigurationProperty.builder()
                                 .inputPort(123)
                                 .interface(InterfaceProperty.builder()
                                         .name("name")
                                         .build())
                                 .build()))
                         .build()))
                 .minLatency(123)
                 .name("name")
                 .protocol("protocol")
                 .senderControlPort(123)
                 .senderIpAddress("senderIpAddress")
                 .sourceArn("sourceArn")
                 .sourceIngestPort("sourceIngestPort")
                 .sourceListenerAddress("sourceListenerAddress")
                 .sourceListenerPort(123)
                 .streamId("streamId")
                 .vpcInterfaceName("vpcInterfaceName")
                 .whitelistCidr("whitelistCidr")
                 .build())
         // the properties below are optional
         .availabilityZone("availabilityZone")
         .maintenance(MaintenanceProperty.builder()
                 .maintenanceDay("maintenanceDay")
                 .maintenanceStartHour("maintenanceStartHour")
                 .build())
         .mediaStreams(List.of(MediaStreamProperty.builder()
                 .mediaStreamId(123)
                 .mediaStreamName("mediaStreamName")
                 .mediaStreamType("mediaStreamType")
                 // the properties below are optional
                 .attributes(MediaStreamAttributesProperty.builder()
                         .fmtp(FmtpProperty.builder()
                                 .channelOrder("channelOrder")
                                 .colorimetry("colorimetry")
                                 .exactFramerate("exactFramerate")
                                 .par("par")
                                 .range("range")
                                 .scanMode("scanMode")
                                 .tcs("tcs")
                                 .build())
                         .lang("lang")
                         .build())
                 .clockRate(123)
                 .description("description")
                 .fmt(123)
                 .videoFormat("videoFormat")
                 .build()))
         .sourceFailoverConfig(FailoverConfigProperty.builder()
                 .failoverMode("failoverMode")
                 .recoveryWindow(123)
                 .sourcePriority(SourcePriorityProperty.builder()
                         .primarySource("primarySource")
                         .build())
                 .state("state")
                 .build())
         .sourceMonitoringConfig(SourceMonitoringConfigProperty.builder()
                 .thumbnailState("thumbnailState")
                 .build())
         .vpcInterfaces(List.of(VpcInterfaceProperty.builder()
                 .name("name")
                 .roleArn("roleArn")
                 .securityGroupIds(List.of("securityGroupIds"))
                 .subnetId("subnetId")
                 // the properties below are optional
                 .networkInterfaceIds(List.of("networkInterfaceIds"))
                 .networkInterfaceType("networkInterfaceType")
                 .build()))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnFlow

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

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

      @Stability(Stable) public CfnFlow(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnFlowProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrEgressIp

      @Stability(Stable) @NotNull public String getAttrEgressIp()
      The outgoing IP address that MediaConnect uses to send video from the flow.
    • getAttrFlowArn

      @Stability(Stable) @NotNull public String getAttrFlowArn()
      The Amazon Resource Name (ARN) of the flow.
    • getAttrFlowAvailabilityZone

      @Stability(Stable) @NotNull public String getAttrFlowAvailabilityZone()
      The Availability Zone that the flow was created in.

      These options are limited to the Availability Zones within the current AWS Region.

    • getAttrSourceIngestIp

      @Stability(Stable) @NotNull public String getAttrSourceIngestIp()
      The IP address that the flow listens on for incoming content.
    • getAttrSourceSourceArn

      @Stability(Stable) @NotNull public String getAttrSourceSourceArn()
      The ARN of the source.
    • getAttrSourceSourceIngestPort

      @Stability(Stable) @NotNull public String getAttrSourceSourceIngestPort()
      The port that the flow listens on for incoming content.

      If the protocol of the source is Zixi, the port must be set to 2088.

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getName

      @Stability(Stable) @NotNull public String getName()
      The name of the flow.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      The name of the flow.
    • getSource

      @Stability(Stable) @NotNull public Object getSource()
      The settings for the source that you want to use for the new flow.
    • setSource

      @Stability(Stable) public void setSource(@NotNull IResolvable value)
      The settings for the source that you want to use for the new flow.
    • setSource

      @Stability(Stable) public void setSource(@NotNull CfnFlow.SourceProperty value)
      The settings for the source that you want to use for the new flow.
    • getAvailabilityZone

      @Stability(Stable) @Nullable public String getAvailabilityZone()
      The Availability Zone that you want to create the flow in.
    • setAvailabilityZone

      @Stability(Stable) public void setAvailabilityZone(@Nullable String value)
      The Availability Zone that you want to create the flow in.
    • getMaintenance

      @Stability(Stable) @Nullable public Object getMaintenance()
      The maintenance settings you want to use for the flow.
    • setMaintenance

      @Stability(Stable) public void setMaintenance(@Nullable IResolvable value)
      The maintenance settings you want to use for the flow.
    • setMaintenance

      @Stability(Stable) public void setMaintenance(@Nullable CfnFlow.MaintenanceProperty value)
      The maintenance settings you want to use for the flow.
    • getMediaStreams

      @Stability(Stable) @Nullable public Object getMediaStreams()
      The media streams associated with the flow.
    • setMediaStreams

      @Stability(Stable) public void setMediaStreams(@Nullable IResolvable value)
      The media streams associated with the flow.
    • setMediaStreams

      @Stability(Stable) public void setMediaStreams(@Nullable List<Object> value)
      The media streams associated with the flow.
    • getSourceFailoverConfig

      @Stability(Stable) @Nullable public Object getSourceFailoverConfig()
      The settings for source failover.
    • setSourceFailoverConfig

      @Stability(Stable) public void setSourceFailoverConfig(@Nullable IResolvable value)
      The settings for source failover.
    • setSourceFailoverConfig

      @Stability(Stable) public void setSourceFailoverConfig(@Nullable CfnFlow.FailoverConfigProperty value)
      The settings for source failover.
    • getSourceMonitoringConfig

      @Stability(Stable) @Nullable public Object getSourceMonitoringConfig()
      The settings for source monitoring.
    • setSourceMonitoringConfig

      @Stability(Stable) public void setSourceMonitoringConfig(@Nullable IResolvable value)
      The settings for source monitoring.
    • setSourceMonitoringConfig

      @Stability(Stable) public void setSourceMonitoringConfig(@Nullable CfnFlow.SourceMonitoringConfigProperty value)
      The settings for source monitoring.
    • getVpcInterfaces

      @Stability(Stable) @Nullable public Object getVpcInterfaces()
      The VPC interfaces that you added to this flow.
    • setVpcInterfaces

      @Stability(Stable) public void setVpcInterfaces(@Nullable IResolvable value)
      The VPC interfaces that you added to this flow.
    • setVpcInterfaces

      @Stability(Stable) public void setVpcInterfaces(@Nullable List<Object> value)
      The VPC interfaces that you added to this flow.