import { Value } from '../../cloudformation/Value';
import { EncryptionProps } from './flowsource/EncryptionProps';
import { GatewayBridgeSourceProps } from './flowsource/GatewayBridgeSourceProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type FlowSourceAttributes = {
    IngestIp: Attribute<string>;
    SourceArn: Attribute<string>;
    SourceIngestPort: Attribute<string>;
};
export type FlowSource = AwsResource<'AWS::MediaConnect::FlowSource', FlowSourceProperties, FlowSourceAttributes>;
/**
  The AWS::MediaConnect::FlowSource resource is used to add additional sources to an existing flow. Adding an additional source requires Failover to be enabled. When you enable Failover, the additional source must use the same protocol as the existing source. A source is the external video content that includes configuration information (encryption and source type) and a network address. Each flow has at least one source. A standard source comes from a source other than another AWS Elemental MediaConnect flow, such as an on-premises encoder.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html">the AWS Docs</a>
*/
export declare function flowSource(flowSourceProps: FlowSourceProperties): FlowSource;
/**
  The AWS::MediaConnect::FlowSource resource is used to add additional sources to an existing flow. Adding an additional source requires Failover to be enabled. When you enable Failover, the additional source must use the same protocol as the existing source. A source is the external video content that includes configuration information (encryption and source type) and a network address. Each flow has at least one source. A standard source comes from a source other than another AWS Elemental MediaConnect flow, such as an on-premises encoder.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html">the AWS Docs</a>
*/
export interface FlowSourceProperties {
    /** <code>StreamId</code>  <a name="cfn-mediaconnect-flowsource-streamid"></a>
  The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    streamId?: Value<string>;
    /** <code>Description</code>  <a name="cfn-mediaconnect-flowsource-description"></a>
  A description of the source. This description is not visible outside of the current AWS account.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description: Value<string>;
    /** <code>SenderIpAddress</code>  <a name="cfn-mediaconnect-flowsource-senderipaddress"></a>
  The IP address that the flow communicates with to initiate connection with the sender.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    senderIpAddress?: Value<string>;
    /** <code>IngestPort</code>  <a name="cfn-mediaconnect-flowsource-ingestport"></a>
  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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    ingestPort?: Value<number>;
    /** <code>SenderControlPort</code>  <a name="cfn-mediaconnect-flowsource-sendercontrolport"></a>
  The port that the flow uses to send outbound requests to initiate connection with the sender.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    senderControlPort?: Value<number>;
    /** <code>Decryption</code>  <a name="cfn-mediaconnect-flowsource-decryption"></a>
  The type of encryption that is used on the content ingested from the source.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    decryption?: EncryptionProps;
    /** <code>GatewayBridgeSource</code>  <a name="cfn-mediaconnect-flowsource-gatewaybridgesource"></a>
  Property description not available.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    gatewayBridgeSource?: GatewayBridgeSourceProps;
    /** <code>SourceListenerAddress</code>  <a name="cfn-mediaconnect-flowsource-sourcelisteneraddress"></a>
  Source IP or domain name for SRT-caller protocol.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    sourceListenerAddress?: Value<string>;
    /** <code>SourceListenerPort</code>  <a name="cfn-mediaconnect-flowsource-sourcelistenerport"></a>
  Source port for SRT-caller protocol.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    sourceListenerPort?: Value<number>;
    /** <code>Name</code>  <a name="cfn-mediaconnect-flowsource-name"></a>
  The name of the source.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name: Value<string>;
    /** <code>WhitelistCidr</code>  <a name="cfn-mediaconnect-flowsource-whitelistcidr"></a>
  The range of IP addresses that are allowed to contribute content to your source. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    whitelistCidr?: Value<string>;
    /** <code>EntitlementArn</code>  <a name="cfn-mediaconnect-flowsource-entitlementarn"></a>
  The ARN of the entitlement that allows you to subscribe to the flow. The entitlement is set by the content originator, and the ARN is generated as part of the originator’s flow.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    entitlementArn?: Value<string>;
    /** <code>MinLatency</code>  <a name="cfn-mediaconnect-flowsource-minlatency"></a>
  The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    minLatency?: Value<number>;
    /** <code>VpcInterfaceName</code>  <a name="cfn-mediaconnect-flowsource-vpcinterfacename"></a>
  The name of the VPC interface that you want to send your output to.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    vpcInterfaceName?: Value<string>;
    /** <code>MaxBitrate</code>  <a name="cfn-mediaconnect-flowsource-maxbitrate"></a>
  The maximum bitrate for RIST, RTP, and RTP-FEC streams.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    maxBitrate?: Value<number>;
    /** <code>Protocol</code>  <a name="cfn-mediaconnect-flowsource-protocol"></a>
  The protocol that the source uses to deliver the content to MediaConnect. Adding additional sources to an existing flow requires Failover to be enabled. When you enable Failover, the additional source must use the same protocol as the existing source. Only the following protocols support failover: Zixi-push, RTP-FEC, RTP, RIST and SRT protocols.<br />
  If you use failover with SRT caller or listener, the <code>FailoverMode</code> property must be set to <code>FAILOVER</code>. The <code>FailoverMode</code> property is found in the <code>FailoverConfig</code> resource of the same flow ARN you used for the source’s <code>FlowArn</code> property. SRT caller/listener does not support merge mode failover.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    protocol?: Value<string>;
    /** <code>FlowArn</code>  <a name="cfn-mediaconnect-flowsource-flowarn"></a>
  The Amazon Resource Name (ARN) of the flow this source is connected to. The flow must have Failover enabled to add an additional source.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    flowArn?: Value<string>;
    /** <code>MaxLatency</code>  <a name="cfn-mediaconnect-flowsource-maxlatency"></a>
  The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    maxLatency?: Value<number>;
}
