AWS Elemental MediaConnect
API Reference

AddFlowOutputs

URI

/v1/flows/flowArn/outputs

HTTP Methods

POST

Operation ID: AddFlowOutputs

Adds outputs to an existing flow. You can create up to 20 outputs per flow.

Path Parameters

Name Type Required Description
flowArn String True

The Amazon Resource Name (ARN) of the flow.

Responses

Status Code Response Model Description
201 AddFlowOutputsResponse

AWS Elemental MediaConnect created the new resource successfully.

400 ResponseError

The request that you submitted is not valid.

403 ResponseError

You don't have the required permissions to perform this operation.

404 ResponseError

AWS Elemental MediaConnect did not find the resource that you specified in the request.

420 ResponseError

Your account already contains the maximum number of 20 flows per account, per Region. For more information, contact AWS Customer Support.

429 ResponseError

You have exceeded the service request rate limit for your AWS Elemental MediaConnect account.

500 ResponseError

AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition.

503 ResponseError

AWS Elemental MediaConnect is currently unavailable. Try again later.

Schemas

Request Bodies

Example POST

{ "outputs": [ { "protocol": enum, "encryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "streamId": "string", "port": integer, "destination": "string", "maxLatency": integer, "name": "string", "description": "string", "smoothingLatency": integer, "cidrAllowList": [ "string" ], "remoteId": "string" } ] }

Response Bodies

Example AddFlowOutputsResponse

{ "outputs": [ { "outputArn": "string", "encryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "port": integer, "destination": "string", "name": "string", "description": "string", "dataTransferSubscriberFeePercent": integer, "entitlementArn": "string", "transport": { "protocol": enum, "streamId": "string", "maxLatency": integer, "maxBitrate": integer, "smoothingLatency": integer, "cidrAllowList": [ "string" ], "remoteId": "string" }, "mediaLiveInputArn": "string" } ], "flowArn": "string" }

Example ResponseError

{ "message": "string" }

Properties

AddFlowOutputsRequest

Adds outputs to an existing flow. You can create up to 20 outputs per flow.

Property Type Required Description
outputs

Array of type AddOutputRequest

True

A list of outputs that you want to add.

AddFlowOutputsResponse

The result of a successful AddOutput request. The response includes the details of the newly added outputs.

Property Type Required Description
outputs

Array of type Output

True

The details of the newly added outputs.

flowArn

string

True

The ARN of the flow that these outputs are associated with.

AddOutputRequest

The output that you want to add to the flow.

Property Type Required Description
protocol

string

Values: zixi-push | rtp-fec | rtp | zixi-pull | rist

True

The protocol to use for the output.

encryption

Encryption

False

The encryption credentials that you want to use for the output.

streamId

string

False

The stream ID that you want to use for the transport. This parameter applies only to Zixi-based streams.

port

integer

False

The port to use when content is distributed to the output.

destination

string

False

The IP address from which AWS Elemental MediaConnect sends video to output destinations.

maxLatency

integer

Format: int64

False

The maximum latency in milliseconds for Zixi-based streams.

name

string

False

The name of the output. This value must be unique within the current flow.

description

string

False

A description of the output. This description is not visible outside of the current AWS account even if the account grants entitlements to other accounts.

smoothingLatency

integer

Format: int64

False

The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.

cidrAllowList

Array of type string

False

The range of IP addresses that are allowed to initiate output requests to this flow. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

remoteId

string

False

The identifier that is assigned to the Zixi receiver. This parameter applies only to outputs that use Zixi pull.

Encryption

Information about the encryption of the flow.

Property Type Required Description
resourceId

string

False

An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.

roleArn

string

True

The Amazon Resource Name (ARN) of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).

secretArn

string

False

The ARN of the secret that you created in AWS Secrets Manager to store the encryption key.

constantInitializationVector

string

False

A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.

keyType

string

Values: speke | static-key

False

The type of key that is used for the encryption. If you don't specify a keyType value, the service uses the default setting (static-key).

region

string

False

The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.

deviceId

string

False

The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.

url

string

False

The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.

algorithm

string

Values: aes128 | aes192 | aes256

True

The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).

Output

The settings for an output.

Property Type Required Description
outputArn

string

True

The ARN of the output.

encryption

Encryption

False

The encryption credentials that you want to use for the output.

port

integer

False

The port to use when content is distributed to the output.

destination

string

False

The address where you want to send the output.

name

string

True

The name of the output. This value must be unique within the current flow.

description

string

False

A description of the output. This description is not visible outside of the current AWS account even if the account grants entitlements to other accounts.

dataTransferSubscriberFeePercent

integer

False

The percentage of the entitlement data transfer fee that the subscriber is responsible for.

entitlementArn

string

False

The ARN of the entitlement on the originator's flow. This value is relevant only on entitled flows.

transport

Transport

False

Attributes that are related to the transport stream.

mediaLiveInputArn

string

False

The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that AWS Elemental MediaConnect added to send content to a MediaLive input.

ResponseError

An exception raised by AWS Elemental MediaConnect when you submit a request that cannot be completed. For more information, see the error message and documentation for the operation.

Property Type Required Description
message

string

True

The specific error message that AWS Elemental MediaConnect returns to help you understand the reason that the request did not succeed.

Transport

Attributes that are related to the transport stream.

Property Type Required Description
protocol

string

Values: zixi-push | rtp-fec | rtp | zixi-pull | rist

True

The protocol that is used by the source or output.

streamId

string

False

The stream ID that you want to use for the transport. This parameter applies only to Zixi-based streams.

maxLatency

integer

Format: int64

False

The maximum latency in milliseconds for a RIST source, a Zixi-based source, or a Zixi-based output.

maxBitrate

integer

Format: int64

False

The maximum bitrate for RIST, RTP, and RTP-FEC streams.

smoothingLatency

integer

Format: int64

False

The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.

cidrAllowList

Array of type string

False

The range of IP addresses that are allowed to initiate output requests to this flow. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

remoteId

string

False

The identifier that is assigned to the Zixi receiver. This parameter applies only to outputs that use Zixi pull.

See Also

For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

AddFlowOutputs