CreateFlow
Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50).
Request Syntax
POST /v1/flows HTTP/1.1
Content-type: application/json
{
"availabilityZone": "string
",
"entitlements": [
{
"dataTransferSubscriberFeePercent": number
,
"description": "string
",
"encryption": {
"algorithm": "string
",
"constantInitializationVector": "string
",
"deviceId": "string
",
"keyType": "string
",
"region": "string
",
"resourceId": "string
",
"roleArn": "string
",
"secretArn": "string
",
"url": "string
"
},
"entitlementStatus": "string
",
"name": "string
",
"subscribers": [ "string
" ]
}
],
"flowSize": "string
",
"maintenance": {
"maintenanceDay": "string
",
"maintenanceStartHour": "string
"
},
"mediaStreams": [
{
"attributes": {
"fmtp": {
"channelOrder": "string
",
"colorimetry": "string
",
"exactFramerate": "string
",
"par": "string
",
"range": "string
",
"scanMode": "string
",
"tcs": "string
"
},
"lang": "string
"
},
"clockRate": number
,
"description": "string
",
"mediaStreamId": number
,
"mediaStreamName": "string
",
"mediaStreamType": "string
",
"videoFormat": "string
"
}
],
"name": "string
",
"ndiConfig": {
"machineName": "string
",
"ndiDiscoveryServers": [
{
"discoveryServerAddress": "string
",
"discoveryServerPort": number
,
"vpcInterfaceAdapter": "string
"
}
],
"ndiState": "string
"
},
"outputs": [
{
"cidrAllowList": [ "string
" ],
"description": "string
",
"destination": "string
",
"encryption": {
"algorithm": "string
",
"constantInitializationVector": "string
",
"deviceId": "string
",
"keyType": "string
",
"region": "string
",
"resourceId": "string
",
"roleArn": "string
",
"secretArn": "string
",
"url": "string
"
},
"maxLatency": number
,
"mediaStreamOutputConfigurations": [
{
"destinationConfigurations": [
{
"destinationIp": "string
",
"destinationPort": number
,
"interface": {
"name": "string
"
}
}
],
"encodingName": "string
",
"encodingParameters": {
"compressionFactor": number
,
"encoderProfile": "string
"
},
"mediaStreamName": "string
"
}
],
"minLatency": number
,
"name": "string
",
"ndiProgramName": "string
",
"ndiSpeedHqQuality": number
,
"outputStatus": "string
",
"port": number
,
"protocol": "string
",
"remoteId": "string
",
"senderControlPort": number
,
"smoothingLatency": number
,
"streamId": "string
",
"vpcInterfaceAttachment": {
"vpcInterfaceName": "string
"
}
}
],
"source": {
"decryption": {
"algorithm": "string
",
"constantInitializationVector": "string
",
"deviceId": "string
",
"keyType": "string
",
"region": "string
",
"resourceId": "string
",
"roleArn": "string
",
"secretArn": "string
",
"url": "string
"
},
"description": "string
",
"entitlementArn": "string
",
"gatewayBridgeSource": {
"bridgeArn": "string
",
"vpcInterfaceAttachment": {
"vpcInterfaceName": "string
"
}
},
"ingestPort": number
,
"maxBitrate": number
,
"maxLatency": number
,
"maxSyncBuffer": number
,
"mediaStreamSourceConfigurations": [
{
"encodingName": "string
",
"inputConfigurations": [
{
"inputPort": number
,
"interface": {
"name": "string
"
}
}
],
"mediaStreamName": "string
"
}
],
"minLatency": number
,
"name": "string
",
"protocol": "string
",
"senderControlPort": number
,
"senderIpAddress": "string
",
"sourceListenerAddress": "string
",
"sourceListenerPort": number
,
"streamId": "string
",
"vpcInterfaceName": "string
",
"whitelistCidr": "string
"
},
"sourceFailoverConfig": {
"failoverMode": "string
",
"recoveryWindow": number
,
"sourcePriority": {
"primarySource": "string
"
},
"state": "string
"
},
"sourceMonitoringConfig": {
"audioMonitoringSettings": [
{
"silentAudio": {
"state": "string
",
"thresholdSeconds": number
}
}
],
"contentQualityAnalysisState": "string
",
"thumbnailState": "string
",
"videoMonitoringSettings": [
{
"blackFrames": {
"state": "string
",
"thresholdSeconds": number
},
"frozenFrames": {
"state": "string
",
"thresholdSeconds": number
}
}
]
},
"sources": [
{
"decryption": {
"algorithm": "string
",
"constantInitializationVector": "string
",
"deviceId": "string
",
"keyType": "string
",
"region": "string
",
"resourceId": "string
",
"roleArn": "string
",
"secretArn": "string
",
"url": "string
"
},
"description": "string
",
"entitlementArn": "string
",
"gatewayBridgeSource": {
"bridgeArn": "string
",
"vpcInterfaceAttachment": {
"vpcInterfaceName": "string
"
}
},
"ingestPort": number
,
"maxBitrate": number
,
"maxLatency": number
,
"maxSyncBuffer": number
,
"mediaStreamSourceConfigurations": [
{
"encodingName": "string
",
"inputConfigurations": [
{
"inputPort": number
,
"interface": {
"name": "string
"
}
}
],
"mediaStreamName": "string
"
}
],
"minLatency": number
,
"name": "string
",
"protocol": "string
",
"senderControlPort": number
,
"senderIpAddress": "string
",
"sourceListenerAddress": "string
",
"sourceListenerPort": number
,
"streamId": "string
",
"vpcInterfaceName": "string
",
"whitelistCidr": "string
"
}
],
"vpcInterfaces": [
{
"name": "string
",
"networkInterfaceType": "string
",
"roleArn": "string
",
"securityGroupIds": [ "string
" ],
"subnetId": "string
"
}
]
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- availabilityZone
-
The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.
Type: String
Required: No
- entitlements
-
The entitlements that you want to grant on a flow.
Type: Array of GrantEntitlementRequest objects
Required: No
- flowSize
-
Determines the processing capacity and feature set of the flow. Set this optional parameter to
LARGE
if you want to enable NDI outputs on the flow.Type: String
Valid Values:
MEDIUM | LARGE
Required: No
- maintenance
-
The maintenance settings you want to use for the flow.
Type: AddMaintenance object
Required: No
- mediaStreams
-
The media streams that you want to add to the flow. You can associate these media streams with sources and outputs on the flow.
Type: Array of AddMediaStreamRequest objects
Required: No
- name
-
The name of the flow.
Type: String
Required: Yes
- ndiConfig
-
Specifies the configuration settings for NDI outputs. Required when the flow includes NDI outputs.
Type: NdiConfig object
Required: No
- outputs
-
The outputs that you want to add to this flow.
Type: Array of AddOutputRequest objects
Required: No
- source
-
The settings for the source that you want to use for the new flow.
Type: SetSourceRequest object
Required: No
- sourceFailoverConfig
-
The settings for source failover.
Type: FailoverConfig object
Required: No
- sourceMonitoringConfig
-
The settings for source monitoring.
Type: MonitoringConfig object
Required: No
- sources
-
The sources that are assigned to the flow.
Type: Array of SetSourceRequest objects
Required: No
- vpcInterfaces
-
The VPC interfaces you want on the flow.
Type: Array of VpcInterfaceRequest objects
Required: No
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"flow": {
"availabilityZone": "string",
"description": "string",
"egressIp": "string",
"entitlements": [
{
"dataTransferSubscriberFeePercent": number,
"description": "string",
"encryption": {
"algorithm": "string",
"constantInitializationVector": "string",
"deviceId": "string",
"keyType": "string",
"region": "string",
"resourceId": "string",
"roleArn": "string",
"secretArn": "string",
"url": "string"
},
"entitlementArn": "string",
"entitlementStatus": "string",
"name": "string",
"subscribers": [ "string" ]
}
],
"flowArn": "string",
"flowSize": "string",
"maintenance": {
"maintenanceDay": "string",
"maintenanceDeadline": "string",
"maintenanceScheduledDate": "string",
"maintenanceStartHour": "string"
},
"mediaStreams": [
{
"attributes": {
"fmtp": {
"channelOrder": "string",
"colorimetry": "string",
"exactFramerate": "string",
"par": "string",
"range": "string",
"scanMode": "string",
"tcs": "string"
},
"lang": "string"
},
"clockRate": number,
"description": "string",
"fmt": number,
"mediaStreamId": number,
"mediaStreamName": "string",
"mediaStreamType": "string",
"videoFormat": "string"
}
],
"name": "string",
"ndiConfig": {
"machineName": "string",
"ndiDiscoveryServers": [
{
"discoveryServerAddress": "string",
"discoveryServerPort": number,
"vpcInterfaceAdapter": "string"
}
],
"ndiState": "string"
},
"outputs": [
{
"bridgeArn": "string",
"bridgePorts": [ number ],
"dataTransferSubscriberFeePercent": number,
"description": "string",
"destination": "string",
"encryption": {
"algorithm": "string",
"constantInitializationVector": "string",
"deviceId": "string",
"keyType": "string",
"region": "string",
"resourceId": "string",
"roleArn": "string",
"secretArn": "string",
"url": "string"
},
"entitlementArn": "string",
"listenerAddress": "string",
"mediaLiveInputArn": "string",
"mediaStreamOutputConfigurations": [
{
"destinationConfigurations": [
{
"destinationIp": "string",
"destinationPort": number,
"interface": {
"name": "string"
},
"outboundIp": "string"
}
],
"encodingName": "string",
"encodingParameters": {
"compressionFactor": number,
"encoderProfile": "string"
},
"mediaStreamName": "string"
}
],
"name": "string",
"outputArn": "string",
"outputStatus": "string",
"port": number,
"transport": {
"cidrAllowList": [ "string" ],
"maxBitrate": number,
"maxLatency": number,
"maxSyncBuffer": number,
"minLatency": number,
"ndiProgramName": "string",
"ndiSpeedHqQuality": number,
"protocol": "string",
"remoteId": "string",
"senderControlPort": number,
"senderIpAddress": "string",
"smoothingLatency": number,
"sourceListenerAddress": "string",
"sourceListenerPort": number,
"streamId": "string"
},
"vpcInterfaceAttachment": {
"vpcInterfaceName": "string"
}
}
],
"source": {
"dataTransferSubscriberFeePercent": number,
"decryption": {
"algorithm": "string",
"constantInitializationVector": "string",
"deviceId": "string",
"keyType": "string",
"region": "string",
"resourceId": "string",
"roleArn": "string",
"secretArn": "string",
"url": "string"
},
"description": "string",
"entitlementArn": "string",
"gatewayBridgeSource": {
"bridgeArn": "string",
"vpcInterfaceAttachment": {
"vpcInterfaceName": "string"
}
},
"ingestIp": "string",
"ingestPort": number,
"mediaStreamSourceConfigurations": [
{
"encodingName": "string",
"inputConfigurations": [
{
"inputIp": "string",
"inputPort": number,
"interface": {
"name": "string"
}
}
],
"mediaStreamName": "string"
}
],
"name": "string",
"senderControlPort": number,
"senderIpAddress": "string",
"sourceArn": "string",
"transport": {
"cidrAllowList": [ "string" ],
"maxBitrate": number,
"maxLatency": number,
"maxSyncBuffer": number,
"minLatency": number,
"ndiProgramName": "string",
"ndiSpeedHqQuality": number,
"protocol": "string",
"remoteId": "string",
"senderControlPort": number,
"senderIpAddress": "string",
"smoothingLatency": number,
"sourceListenerAddress": "string",
"sourceListenerPort": number,
"streamId": "string"
},
"vpcInterfaceName": "string",
"whitelistCidr": "string"
},
"sourceFailoverConfig": {
"failoverMode": "string",
"recoveryWindow": number,
"sourcePriority": {
"primarySource": "string"
},
"state": "string"
},
"sourceMonitoringConfig": {
"audioMonitoringSettings": [
{
"silentAudio": {
"state": "string",
"thresholdSeconds": number
}
}
],
"contentQualityAnalysisState": "string",
"thumbnailState": "string",
"videoMonitoringSettings": [
{
"blackFrames": {
"state": "string",
"thresholdSeconds": number
},
"frozenFrames": {
"state": "string",
"thresholdSeconds": number
}
}
]
},
"sources": [
{
"dataTransferSubscriberFeePercent": number,
"decryption": {
"algorithm": "string",
"constantInitializationVector": "string",
"deviceId": "string",
"keyType": "string",
"region": "string",
"resourceId": "string",
"roleArn": "string",
"secretArn": "string",
"url": "string"
},
"description": "string",
"entitlementArn": "string",
"gatewayBridgeSource": {
"bridgeArn": "string",
"vpcInterfaceAttachment": {
"vpcInterfaceName": "string"
}
},
"ingestIp": "string",
"ingestPort": number,
"mediaStreamSourceConfigurations": [
{
"encodingName": "string",
"inputConfigurations": [
{
"inputIp": "string",
"inputPort": number,
"interface": {
"name": "string"
}
}
],
"mediaStreamName": "string"
}
],
"name": "string",
"senderControlPort": number,
"senderIpAddress": "string",
"sourceArn": "string",
"transport": {
"cidrAllowList": [ "string" ],
"maxBitrate": number,
"maxLatency": number,
"maxSyncBuffer": number,
"minLatency": number,
"ndiProgramName": "string",
"ndiSpeedHqQuality": number,
"protocol": "string",
"remoteId": "string",
"senderControlPort": number,
"senderIpAddress": "string",
"smoothingLatency": number,
"sourceListenerAddress": "string",
"sourceListenerPort": number,
"streamId": "string"
},
"vpcInterfaceName": "string",
"whitelistCidr": "string"
}
],
"status": "string",
"vpcInterfaces": [
{
"name": "string",
"networkInterfaceIds": [ "string" ],
"networkInterfaceType": "string",
"roleArn": "string",
"securityGroupIds": [ "string" ],
"subnetId": "string"
}
]
}
}
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in JSON format by the service.
Errors
For information about the errors that are common to all actions, see Common Errors.
- BadRequestException
-
This exception is thrown if the request contains a semantic error. The precise meaning depends on the API, and is documented in the error message.
HTTP Status Code: 400
- CreateFlow420Exception
-
Exception raised by AWS Elemental MediaConnect when creating the flow. See the error message for the operation for more information on the cause of this exception.
HTTP Status Code: 420
- ForbiddenException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- InternalServerErrorException
-
The server encountered an internal error and is unable to complete the request.
HTTP Status Code: 500
- ServiceUnavailableException
-
The service is currently unavailable or busy.
HTTP Status Code: 503
- TooManyRequestsException
-
The request was denied due to request throttling.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: