AddFlowSources - AWS Elemental MediaConnect

AddFlowSources

URI

/v1/flows/flowArn/source

HTTP Methods

POST

Operation ID: AddFlowSources

Adds sources to an existing flow. You can add up to one additional source, for a total of two, to each flow. You must enable source failover on the flow before you can add a second source.

Both sources on the flow must use the same protocol. (However, you can have one source that uses RTP and the other that uses RTP-FEC.)

Path Parameters
Name Type Required Description
flowArn String True

The Amazon Resource Name (ARN) of the flow.

Responses
Status Code Response Model Description
201 AddFlowSourcesResponse

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

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

429 ResponseError

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

500 ResponseError

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

503 ResponseError

MediaConnect is currently unavailable. Try again later.

Schemas

Request Bodies

Example POST

{ "sources": [ { "protocol": enum, "streamId": "string", "vpcInterfaceName": "string", "maxLatency": integer, "name": "string", "description": "string", "maxBitrate": integer, "entitlementArn": "string", "decryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "ingestPort": integer, "whitelistCidr": "string" } ] }

Response Bodies

Example AddFlowSourcesResponse

{ "sources": [ { "sourceArn": "string", "vpcInterfaceName": "string", "name": "string", "description": "string", "dataTransferSubscriberFeePercent": integer, "entitlementArn": "string", "ingestIp": "string", "transport": { "protocol": enum, "streamId": "string", "maxLatency": integer, "maxBitrate": integer, "smoothingLatency": integer, "cidrAllowList": [ "string" ], "remoteId": "string" }, "decryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "ingestPort": integer, "whitelistCidr": "string" } ], "flowArn": "string" }

Example ResponseError

{ "message": "string" }

Properties

AddFlowSourcesRequest

Adds sources to an existing flow. You can add up to one additional source, for a total of two, to each flow.

Property Type Required Description
sources

Array of type SetSourceRequest

True

The list of sources that you want to add.

AddFlowSourcesResponse

The result of a successful AddFlowSources request. The response includes the details of the sources that you just added.

Property Type Required Description
sources

Array of type Source

True

The details of the sources that you just added.

flowArn

string

True

The ARN of the flow that you just added sources to.

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 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).

ResponseError

An exception raised by 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 MediaConnect returns to help you understand the reason that the request did not succeed.

SetSourceRequest

The settings for the source that you want to use for the new flow.

Property Type Required Description
protocol

string

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

False

The protocol that the source uses to deliver the content to MediaConnect.

streamId

string

False

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

vpcInterfaceName

string

False

The name of the VPC interface that you want to use for the source.

maxLatency

integer

Format: int64

False

The maximum latency in milliseconds for RIST and Zixi-based streams.

name

string

False

The name of the source.

description

string

False

A description of the source. This description is not visible outside of the current AWS account.

maxBitrate

integer

Format: int64

False

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

entitlementArn

string

False

The ARN of the entitlement that allows you to subscribe to the flow. The content originator grants the entitlement, and the ARN is auto-generated as part of the originator's flow.

decryption

Encryption

False

The type of encryption that is used on the content ingested from the source.

ingestPort

integer

False

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.

whitelistCidr

string

False

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.

Source

The details of the sources of the flow.

Property Type Required Description
sourceArn

string

True

The ARN of the source.

vpcInterfaceName

string

False

The name of the VPC interface that the source content comes from.

name

string

True

The name of the source.

description

string

False

A description of the source. This description is not visible outside of the current AWS account.

dataTransferSubscriberFeePercent

integer

False

The percentage of the entitlement data transfer fee that you want the subscriber to be responsible for.

entitlementArn

string

False

The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator’s flow.

ingestIp

string

False

The IP address that the flow listens on for incoming content.

transport

Transport

False

Attributes that are related to the transport stream.

decryption

Encryption

False

The type of encryption that is used on the content ingested from the source.

ingestPort

integer

False

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.

whitelistCidr

string

False

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.

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:

AddFlowSources