DescribeFlow, UpdateFlow, DeleteFlow - AWS Elemental MediaConnect

DescribeFlow, UpdateFlow, DeleteFlow

URI

/v1/flows/flowArn

HTTP Methods

GET

Operation ID: DescribeFlow

Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements.

Path Parameters
Name Type Required Description
flowArn String True

The Amazon Resource Name (ARN) of the flow.

Responses
Status Code Response Model Description
200 DescribeFlowResponse

MediaConnect returned the flow details 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.

PUT

Operation ID: UpdateFlow

Updates the properties of the flow, including the source failover configuration.

Path Parameters
Name Type Required Description
flowArn String True

The Amazon Resource Name (ARN) of the flow.

Responses
Status Code Response Model Description
202 UpdateFlowResponse

MediaConnect is starting the flow.

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.

DELETE

Operation ID: DeleteFlow

Deletes a flow. Before you can delete a flow, you must stop the flow.

Path Parameters
Name Type Required Description
flowArn String True

The Amazon Resource Name (ARN) of the flow.

Responses
Status Code Response Model Description
202 DeleteFlowResponse

MediaConnect is deleting the flow.

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 PUT

{ "description": "string", "sourceFailoverConfig": { "recoveryWindow": integer, "state": enum } }

Response Bodies

Example DescribeFlowResponse

{ "messages": { "errors": [ "string" ] }, "flow": { "entitlements": [ { "encryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "subscribers": [ "string" ], "name": "string", "description": "string", "dataTransferSubscriberFeePercent": integer, "entitlementArn": "string", "subscriberAvailabilityZone": enum } ], "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", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } } ], "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", "name": "string", "description": "string", "sourceFailoverConfig": { "recoveryWindow": integer, "searchWindow": integer, "state": enum }, "egressIp": "string", "source": { "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" }, "vpcInterfaces": [ { "subnetId": "string", "roleArn": "string", "securityGroupIds": [ "string" ], "name": "string", "networkInterfaceIds": [ "string" ] } ], "availabilityZone": "string", "status": enum } }

Example UpdateFlowResponse

{ "flow": { "entitlements": [ { "encryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "subscribers": [ "string" ], "name": "string", "description": "string", "dataTransferSubscriberFeePercent": integer, "entitlementArn": "string", "subscriberAvailabilityZone": enum } ], "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", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } } ], "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", "name": "string", "description": "string", "sourceFailoverConfig": { "recoveryWindow": integer, "searchWindow": integer, "state": enum }, "egressIp": "string", "source": { "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" }, "vpcInterfaces": [ { "subnetId": "string", "roleArn": "string", "securityGroupIds": [ "string" ], "name": "string", "networkInterfaceIds": [ "string" ] } ], "availabilityZone": "string", "status": enum } }

Example DeleteFlowResponse

{ "flowArn": "string", "status": enum }

Example ResponseError

{ "message": "string" }

Properties

DeleteFlowResponse

The result of a successful DeleteFlow request.

Property Type Required Description
flowArn

string

True

The ARN of the flow that you deleted.

status

string

Values: STANDBY | ACTIVE | UPDATING | DELETING | STARTING | STOPPING | ERROR

True

The status of the flow when the DeleteFlow process begins.

DescribeFlowResponse

The result of a successful DescribeFlow request.

Property Type Required Description
messages

Messages

False

Any errors that apply currently to the flow. If there are no errors, MediaConnect will not include this field in the response.

flow

Flow

True

The flow that you requested a description of.

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

Entitlement

The settings for a flow entitlement.

Property Type Required Description
encryption

Encryption

False

The type of encryption that MediaConnect will use on the output that is associated with the entitlement.

subscribers

Array of type string

True

The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.

name

string

True

The name of the entitlement.

description

string

False

A description of the entitlement. This description appears only on the MediaConnect console and 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

True

The ARN of the entitlement.

subscriberAvailabilityZone

string

Values: aligned | any

False

Whether or not this entitlement can be used in an AZ other than the one it's flow is in.

FailoverConfig

The settings for source failover.

Property Type Required Description
recoveryWindow

integer

False

The size of the buffer (delay) that the service maintains. A larger buffer means a longer delay in transmitting the stream, but more room for error correction. A smaller buffer means a shorter delay, but less room for error correction.

searchWindow

integer

False

Field used by Multiplex instead of recoveryWindow, deprecated once Multiplex migrates

state

string

Values: ENABLED | DISABLED

False

The state of source failover on the flow. If the state is disabled, the flow can have only one source. If the state is enabled, the flow can have one or two sources.

Flow

The settings for a flow, including its source, outputs, and entitlements.

Property Type Required Description
entitlements

Array of type Entitlement

True

The entitlements in the flow.

outputs

Array of type Output

True

The outputs in the flow.

sources

Array of type Source

False

The settings for the sources that are assigned to the flow.

flowArn

string

True

The Amazon Resource Name (ARN) of the flow.

name

string

True

The name of the flow.

description

string

False

A description of the flow. This description appears only on the MediaConnect console and is not visible outside of the current AWS account.

sourceFailoverConfig

FailoverConfig

False

The settings for source failover.

egressIp

string

False

The outgoing IP address that MediaConnect uses to send video from the flow.

source

Source

True

The source for the flow.

vpcInterfaces

Array of type VpcInterface

False

The VPC interfaces that you added to this flow.

availabilityZone

string

True

The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.

status

string

Values: STANDBY | ACTIVE | UPDATING | DELETING | STARTING | STOPPING | ERROR

True

The current status of the flow.

Messages

Messages that provide the state of the flow.

Property Type Required Description
errors

Array of type string

True

A list of errors that apply currently to the flow. If there are no errors, MediaConnect will not include this field in the response.

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 MediaConnect added to send content to a MediaLive input.

vpcInterfaceAttachment

VpcInterfaceAttachment

False

The VPC interface that you want to send your output to.

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.

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.

UpdateFailoverConfig

The settings for source failover.

Property Type Required Description
recoveryWindow

integer

False

The size of the buffer (delay) that you want the service to maintain. A larger buffer means a longer delay in transmitting the stream, but more room for error correction. A smaller buffer means a shorter delay, but less room for error correction. You can choose a value from 100-500 ms. If you keep this field blank, the service uses the default value of 200 ms.

state

string

Values: ENABLED | DISABLED

False

The state of source failover on the flow. If the state is disabled, the flow can have only one source. If the state is enabled, the flow can have one or two sources.

UpdateFlowRequest

Updates an existing flow.

Property Type Required Description
description

string

False

The description of the flow.

sourceFailoverConfig

UpdateFailoverConfig

False

The settings for source failover.

UpdateFlowResponse

The result of a successful UpdateFlow request.

Property Type Required Description
flow

Flow

True

The settings for a flow, including its source, outputs, and entitlements.

VpcInterface

The details of a VPC interface.

Property Type Required Description
subnetId

string

True

The subnet IDs that you specified for your VPC interface.

A subnet ID is a range of IP addresses in your VPC. When you create your VPC, you specify a range of IPv4 addresses for the VPC in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. This is the primary CIDR block for your VPC. When you create a subnet for your VPC, you specify the CIDR block for the subnet, which is a subset of the VPC CIDR block.

The subnets that you use across all VPC interfaces on the flow must be in the same Availability Zone as the flow.

roleArn

string

True

The ARN of the IAM role that you created when you set up MediaConnect as a trusted service.

securityGroupIds

Array of type string

True

A virtual firewall to control inbound and outbound traffic.

name

string

True

The name for the VPC interface. This name must be unique within the flow.

networkInterfaceIds

Array of type string

True

The IDs of the network interfaces that MediaConnect created in your account.

VpcInterfaceAttachment

The VPC interface that you want to send your output to.

Property Type Required Description
vpcInterfaceName

string

False

The name of the VPC interface that you want to send your output to.

See Also

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

DescribeFlow

UpdateFlow

DeleteFlow