/AWS1/IF_MDX=>UPDATEFLOWSOURCE()¶
About UpdateFlowSource¶
Updates the source of a flow.
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
MEDIUMflow and you want to change the flow source to NDI®:-
First, use the
UpdateFlowoperation to upgrade the flow size toLARGE. -
After that, you can then use the
UpdateFlowSourceoperation 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
UpdateFlowSourceoperation to change the flow source type. -
After that, you can then use the
UpdateFlowoperation to downgrade the flow size toMEDIUM.
-
Method Signature¶
METHODS /AWS1/IF_MDX~UPDATEFLOWSOURCE
IMPORTING
!IO_DECRYPTION TYPE REF TO /AWS1/CL_MDXUPDATEENCRYPTION OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/MDXSTRING OPTIONAL
!IV_ENTITLEMENTARN TYPE /AWS1/MDXSTRING OPTIONAL
!IV_FLOWARN TYPE /AWS1/MDXFLOWARN OPTIONAL
!IV_INGESTPORT TYPE /AWS1/MDXINTEGER OPTIONAL
!IV_MAXBITRATE TYPE /AWS1/MDXINTEGER OPTIONAL
!IV_MAXLATENCY TYPE /AWS1/MDXINTEGER OPTIONAL
!IV_MAXSYNCBUFFER TYPE /AWS1/MDXINTEGER OPTIONAL
!IT_MEDIASTREAMSOURCECONFS TYPE /AWS1/CL_MDXMEDIASTRMSRCCONF00=>TT___LISTOFMEDIASTRMSRCCONFREQ OPTIONAL
!IV_MINLATENCY TYPE /AWS1/MDXINTEGER OPTIONAL
!IV_PROTOCOL TYPE /AWS1/MDXPROTOCOL OPTIONAL
!IV_SENDERCONTROLPORT TYPE /AWS1/MDXINTEGER OPTIONAL
!IV_SENDERIPADDRESS TYPE /AWS1/MDXSTRING OPTIONAL
!IV_SOURCEARN TYPE /AWS1/MDXSTRING OPTIONAL
!IV_SOURCELISTENERADDRESS TYPE /AWS1/MDXSTRING OPTIONAL
!IV_SOURCELISTENERPORT TYPE /AWS1/MDXINTEGER OPTIONAL
!IV_STREAMID TYPE /AWS1/MDXSTRING OPTIONAL
!IV_VPCINTERFACENAME TYPE /AWS1/MDXSTRING OPTIONAL
!IV_WHITELISTCIDR TYPE /AWS1/MDXSTRING OPTIONAL
!IO_GATEWAYBRIDGESOURCE TYPE REF TO /AWS1/CL_MDXUPDGWBRIDGESRCREQ OPTIONAL
!IO_NDISOURCESETTINGS TYPE REF TO /AWS1/CL_MDXNDISOURCESETTINGS OPTIONAL
!IV_ROUTERINTEGRATIONSTATE TYPE /AWS1/MDXSTATE OPTIONAL
!IO_RTRINTGTRANSITDECRYPTION TYPE REF TO /AWS1/CL_MDXFLOWTRANSITENC OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_mdxupdateflowsrcrsp
RAISING
/AWS1/CX_MDXBADREQUESTEX
/AWS1/CX_MDXFORBIDDENEXCEPTION
/AWS1/CX_MDXINTERNALSERVERER00
/AWS1/CX_MDXNOTFOUNDEXCEPTION
/AWS1/CX_MDXSERVICEUNAVAILEX
/AWS1/CX_MDXTOOMANYREQUESTSEX
/AWS1/CX_MDXCLIENTEXC
/AWS1/CX_MDXSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_flowarn TYPE /AWS1/MDXFLOWARN /AWS1/MDXFLOWARN¶
The ARN of the flow that you want to update.
iv_sourcearn TYPE /AWS1/MDXSTRING /AWS1/MDXSTRING¶
The ARN of the source that you want to update.
Optional arguments:¶
io_decryption TYPE REF TO /AWS1/CL_MDXUPDATEENCRYPTION /AWS1/CL_MDXUPDATEENCRYPTION¶
The type of encryption that is used on the content ingested from the source.
iv_description TYPE /AWS1/MDXSTRING /AWS1/MDXSTRING¶
A description of the source. This description is not visible outside of the current Amazon Web Services account.
iv_entitlementarn TYPE /AWS1/MDXSTRING /AWS1/MDXSTRING¶
The Amazon Resource Name (ARN) of the entitlement that allows you to subscribe to the flow. The entitlement is set by the content originator, and the ARN is generated as part of the originator's flow.
iv_ingestport TYPE /AWS1/MDXINTEGER /AWS1/MDXINTEGER¶
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.
iv_maxbitrate TYPE /AWS1/MDXINTEGER /AWS1/MDXINTEGER¶
The maximum bitrate for RIST, RTP, and RTP-FEC streams.
iv_maxlatency TYPE /AWS1/MDXINTEGER /AWS1/MDXINTEGER¶
The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
iv_maxsyncbuffer TYPE /AWS1/MDXINTEGER /AWS1/MDXINTEGER¶
The size of the buffer (in milliseconds) to use to sync incoming source data.
it_mediastreamsourceconfs TYPE /AWS1/CL_MDXMEDIASTRMSRCCONF00=>TT___LISTOFMEDIASTRMSRCCONFREQ TT___LISTOFMEDIASTRMSRCCONFREQ¶
The media stream that is associated with the source, and the parameters for that association.
iv_minlatency TYPE /AWS1/MDXINTEGER /AWS1/MDXINTEGER¶
The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.
iv_protocol TYPE /AWS1/MDXPROTOCOL /AWS1/MDXPROTOCOL¶
The protocol that the source uses to deliver the content to MediaConnect.
Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only.
iv_sendercontrolport TYPE /AWS1/MDXINTEGER /AWS1/MDXINTEGER¶
The port that the flow uses to send outbound requests to initiate connection with the sender.
iv_senderipaddress TYPE /AWS1/MDXSTRING /AWS1/MDXSTRING¶
The IP address that the flow communicates with to initiate connection with the sender.
iv_sourcelisteneraddress TYPE /AWS1/MDXSTRING /AWS1/MDXSTRING¶
The source IP or domain name for SRT-caller protocol.
iv_sourcelistenerport TYPE /AWS1/MDXINTEGER /AWS1/MDXINTEGER¶
Source port for SRT-caller protocol.
iv_streamid TYPE /AWS1/MDXSTRING /AWS1/MDXSTRING¶
The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.
iv_vpcinterfacename TYPE /AWS1/MDXSTRING /AWS1/MDXSTRING¶
The name of the VPC interface that you want to send your output to.
iv_whitelistcidr TYPE /AWS1/MDXSTRING /AWS1/MDXSTRING¶
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.
io_gatewaybridgesource TYPE REF TO /AWS1/CL_MDXUPDGWBRIDGESRCREQ /AWS1/CL_MDXUPDGWBRIDGESRCREQ¶
The source configuration for cloud flows receiving a stream from a bridge.
io_ndisourcesettings TYPE REF TO /AWS1/CL_MDXNDISOURCESETTINGS /AWS1/CL_MDXNDISOURCESETTINGS¶
The settings for the NDI source. This includes the exact name of the upstream NDI sender that you want to connect to your source.
iv_routerintegrationstate TYPE /AWS1/MDXSTATE /AWS1/MDXSTATE¶
Indicates whether to enable or disable router integration for this flow source.
io_rtrintgtransitdecryption TYPE REF TO /AWS1/CL_MDXFLOWTRANSITENC /AWS1/CL_MDXFLOWTRANSITENC¶
The encryption configuration for the flow source when router integration is enabled.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_mdxupdateflowsrcrsp /AWS1/CL_MDXUPDATEFLOWSRCRSP¶
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->updateflowsource(
io_decryption = new /aws1/cl_mdxupdateencryption(
iv_algorithm = |string|
iv_constantinitializationv00 = |string|
iv_deviceid = |string|
iv_keytype = |string|
iv_region = |string|
iv_resourceid = |string|
iv_rolearn = |string|
iv_secretarn = |string|
iv_url = |string|
)
io_gatewaybridgesource = new /aws1/cl_mdxupdgwbridgesrcreq(
io_vpcinterfaceattachment = new /aws1/cl_mdxvpcinterfaceatta00( |string| )
iv_bridgearn = |string|
)
io_ndisourcesettings = new /aws1/cl_mdxndisourcesettings( |string| )
io_rtrintgtransitdecryption = new /aws1/cl_mdxflowtransitenc(
io_encryptionkeyconf = new /aws1/cl_mdxflowtransitencke00(
io_automatic = new /aws1/cl_mdxautomaticenckeyc00( )
io_secretsmanager = new /aws1/cl_mdxsecretsmanageren00(
iv_rolearn = |string|
iv_secretarn = |string|
)
)
iv_encryptionkeytype = |string|
)
it_mediastreamsourceconfs = VALUE /aws1/cl_mdxmediastrmsrcconf00=>tt___listofmediastrmsrcconfreq(
(
new /aws1/cl_mdxmediastrmsrcconf00(
it_inputconfigurations = VALUE /aws1/cl_mdxinputconfrequest=>tt___listofinputconfrequest(
(
new /aws1/cl_mdxinputconfrequest(
io_interface = new /aws1/cl_mdxinterfacerequest( |string| )
iv_inputport = 123
)
)
)
iv_encodingname = |string|
iv_mediastreamname = |string|
)
)
)
iv_description = |string|
iv_entitlementarn = |string|
iv_flowarn = |string|
iv_ingestport = 123
iv_maxbitrate = 123
iv_maxlatency = 123
iv_maxsyncbuffer = 123
iv_minlatency = 123
iv_protocol = |string|
iv_routerintegrationstate = |string|
iv_sendercontrolport = 123
iv_senderipaddress = |string|
iv_sourcearn = |string|
iv_sourcelisteneraddress = |string|
iv_sourcelistenerport = 123
iv_streamid = |string|
iv_vpcinterfacename = |string|
iv_whitelistcidr = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_string = lo_result->get_flowarn( ).
lo_source = lo_result->get_source( ).
IF lo_source IS NOT INITIAL.
lv_integer = lo_source->get_dataxfersubrfeepercent( ).
lo_encryption = lo_source->get_decryption( ).
IF lo_encryption IS NOT INITIAL.
lv_algorithm = lo_encryption->get_algorithm( ).
lv_string = lo_encryption->get_constantinitialization00( ).
lv_string = lo_encryption->get_deviceid( ).
lv_keytype = lo_encryption->get_keytype( ).
lv_string = lo_encryption->get_region( ).
lv_string = lo_encryption->get_resourceid( ).
lv_string = lo_encryption->get_rolearn( ).
lv_string = lo_encryption->get_secretarn( ).
lv_string = lo_encryption->get_url( ).
ENDIF.
lv_string = lo_source->get_description( ).
lv_string = lo_source->get_entitlementarn( ).
lv_string = lo_source->get_ingestip( ).
lv_integer = lo_source->get_ingestport( ).
LOOP AT lo_source->get_mediastreamsourceconfs( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_encodingname = lo_row_1->get_encodingname( ).
LOOP AT lo_row_1->get_inputconfigurations( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_string = lo_row_3->get_inputip( ).
lv_integer = lo_row_3->get_inputport( ).
lo_interface = lo_row_3->get_interface( ).
IF lo_interface IS NOT INITIAL.
lv_string = lo_interface->get_name( ).
ENDIF.
ENDIF.
ENDLOOP.
lv_string = lo_row_1->get_mediastreamname( ).
ENDIF.
ENDLOOP.
lv_string = lo_source->get_name( ).
lv_integer = lo_source->get_sendercontrolport( ).
lv_string = lo_source->get_senderipaddress( ).
lv_string = lo_source->get_sourcearn( ).
lo_transport = lo_source->get_transport( ).
IF lo_transport IS NOT INITIAL.
LOOP AT lo_transport->get_cidrallowlist( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_string = lo_row_5->get_value( ).
ENDIF.
ENDLOOP.
lv_integer = lo_transport->get_maxbitrate( ).
lv_integer = lo_transport->get_maxlatency( ).
lv_integer = lo_transport->get_maxsyncbuffer( ).
lv_integer = lo_transport->get_minlatency( ).
lv_protocol = lo_transport->get_protocol( ).
lv_string = lo_transport->get_remoteid( ).
lv_integer = lo_transport->get_sendercontrolport( ).
lv_string = lo_transport->get_senderipaddress( ).
lv_integer = lo_transport->get_smoothinglatency( ).
lv_string = lo_transport->get_sourcelisteneraddress( ).
lv_integer = lo_transport->get_sourcelistenerport( ).
lv_string = lo_transport->get_streamid( ).
lv_integer = lo_transport->get_ndispeedhqquality( ).
lv_string = lo_transport->get_ndiprogramname( ).
lo_ndisourcesettings = lo_transport->get_ndisourcesettings( ).
IF lo_ndisourcesettings IS NOT INITIAL.
lv_string = lo_ndisourcesettings->get_sourcename( ).
ENDIF.
ENDIF.
lv_string = lo_source->get_vpcinterfacename( ).
lv_string = lo_source->get_whitelistcidr( ).
lo_gatewaybridgesource = lo_source->get_gatewaybridgesource( ).
IF lo_gatewaybridgesource IS NOT INITIAL.
lv_string = lo_gatewaybridgesource->get_bridgearn( ).
lo_vpcinterfaceattachment = lo_gatewaybridgesource->get_vpcinterfaceattachment( ).
IF lo_vpcinterfaceattachment IS NOT INITIAL.
lv_string = lo_vpcinterfaceattachment->get_vpcinterfacename( ).
ENDIF.
ENDIF.
lv_string = lo_source->get_peeripaddress( ).
lv_state = lo_source->get_routerintegrationstate( ).
lo_flowtransitencryption = lo_source->get_rtrintgtransitdecryption( ).
IF lo_flowtransitencryption IS NOT INITIAL.
lv_flowtransitencryptionke = lo_flowtransitencryption->get_encryptionkeytype( ).
lo_flowtransitencryptionke_1 = lo_flowtransitencryption->get_encryptionkeyconf( ).
IF lo_flowtransitencryptionke_1 IS NOT INITIAL.
lo_secretsmanagerencryptio = lo_flowtransitencryptionke_1->get_secretsmanager( ).
IF lo_secretsmanagerencryptio IS NOT INITIAL.
lv_secretarn = lo_secretsmanagerencryptio->get_secretarn( ).
lv_rolearn = lo_secretsmanagerencryptio->get_rolearn( ).
ENDIF.
lo_automaticencryptionkeyc = lo_flowtransitencryptionke_1->get_automatic( ).
IF lo_automaticencryptionkeyc IS NOT INITIAL.
ENDIF.
ENDIF.
ENDIF.
lv_string = lo_source->get_connectedrouteroutputarn( ).
ENDIF.
ENDIF.