UpdateFlow - AWS Elemental MediaConnect

UpdateFlow

Updates an existing flow.

Note

Because UpdateFlowSources and UpdateFlow are separate operations, you can't change both the source type AND the flow size in a single request.

  • If you have a MEDIUM flow and you want to change the flow source to NDIĀ®:

    • First, use the UpdateFlow operation to upgrade the flow size to LARGE.

    • After that, you can then use the UpdateFlowSource operation to configure the NDI source.

  • If you're switching from an NDI source to a transport stream (TS) source and want to downgrade the flow size:

    • First, use the UpdateFlowSource operation to change the flow source type.

    • After that, you can then use the UpdateFlow operation to downgrade the flow size to MEDIUM.

Request Syntax

PUT /v1/flows/flowArn HTTP/1.1 Content-type: application/json { "encodingConfig": { "encodingProfile": "string", "videoMaxBitrate": number }, "flowSize": "string", "maintenance": { "maintenanceDay": "string", "maintenanceScheduledDate": "string", "maintenanceStartHour": "string" }, "ndiConfig": { "machineName": "string", "ndiDiscoveryServers": [ { "discoveryServerAddress": "string", "discoveryServerPort": number, "vpcInterfaceAdapter": "string" } ], "ndiState": "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 } } ] } }

URI Request Parameters

The request uses the following URI parameters.

flowArn

The Amazon Resource Name (ARN) of the flow that you want to update.

Pattern: arn:.+:mediaconnect.+:flow:.+

Required: Yes

Request Body

The request accepts the following data in JSON format.

encodingConfig

The encoding configuration to apply to the NDIĀ® source when transcoding it to a transport stream for downstream distribution. You can choose between several predefined encoding profiles based on common use cases.

Type: EncodingConfig object

Required: No

flowSize

Determines the processing capacity and feature set of the flow.

Type: String

Valid Values: MEDIUM | LARGE | LARGE_4X

Required: No

maintenance

The maintenance setting of the flow.

Type: UpdateMaintenance object

Required: No

ndiConfig

Specifies the configuration settings for a flow's NDI source or output. Required when the flow includes an NDI source or output.

Type: NdiConfig object

Required: No

sourceFailoverConfig

The settings for source failover.

Type: UpdateFailoverConfig object

Required: No

sourceMonitoringConfig

The settings for source monitoring.

Type: MonitoringConfig object

Required: No

Response Syntax

HTTP/1.1 202 Content-type: application/json { "flow": { "availabilityZone": "string", "description": "string", "egressIp": "string", "encodingConfig": { "encodingProfile": "string", "videoMaxBitrate": number }, "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 ], "connectedRouterInputArn": "string", "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", "peerIpAddress": "string", "port": number, "routerIntegrationState": "string", "routerIntegrationTransitEncryption": { "encryptionKeyConfiguration": { ... }, "encryptionKeyType": "string" }, "transport": { "cidrAllowList": [ "string" ], "maxBitrate": number, "maxLatency": number, "maxSyncBuffer": number, "minLatency": number, "ndiProgramName": "string", "ndiSourceSettings": { "sourceName": "string" }, "ndiSpeedHqQuality": number, "protocol": "string", "remoteId": "string", "senderControlPort": number, "senderIpAddress": "string", "smoothingLatency": number, "sourceListenerAddress": "string", "sourceListenerPort": number, "streamId": "string" }, "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } } ], "source": { "connectedRouterOutputArn": "string", "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", "peerIpAddress": "string", "routerIntegrationState": "string", "routerIntegrationTransitDecryption": { "encryptionKeyConfiguration": { ... }, "encryptionKeyType": "string" }, "senderControlPort": number, "senderIpAddress": "string", "sourceArn": "string", "transport": { "cidrAllowList": [ "string" ], "maxBitrate": number, "maxLatency": number, "maxSyncBuffer": number, "minLatency": number, "ndiProgramName": "string", "ndiSourceSettings": { "sourceName": "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": [ { "connectedRouterOutputArn": "string", "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", "peerIpAddress": "string", "routerIntegrationState": "string", "routerIntegrationTransitDecryption": { "encryptionKeyConfiguration": { ... }, "encryptionKeyType": "string" }, "senderControlPort": number, "senderIpAddress": "string", "sourceArn": "string", "transport": { "cidrAllowList": [ "string" ], "maxBitrate": number, "maxLatency": number, "maxSyncBuffer": number, "minLatency": number, "ndiProgramName": "string", "ndiSourceSettings": { "sourceName": "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 202 response.

The following data is returned in JSON format by the service.

flow

The updated flow.

Type: Flow object

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

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

NotFoundException

One or more of the resources in the request does not exist in the system.

HTTP Status Code: 404

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: