/AWS1/IF_CWF=>CREATEMONITOR()
¶
About CreateMonitor¶
Create a monitor for specific network flows between local and remote resources, so that you can monitor network performance for one or several of your workloads. For each monitor, Network Flow Monitor publishes detailed end-to-end performance metrics and a network health indicator (NHI) that informs you whether there were Amazon Web Services network issues for one or more of the network flows tracked by a monitor, during a time period that you choose.
Method Signature¶
IMPORTING¶
Required arguments:¶
iv_monitorname
TYPE /AWS1/CWFRESOURCENAME
/AWS1/CWFRESOURCENAME
¶
The name of the monitor.
it_localresources
TYPE /AWS1/CL_CWFMONILOCALRESOURCE=>TT_MONITORLOCALRESOURCES
TT_MONITORLOCALRESOURCES
¶
The local resources to monitor. A local resource in a workload is the location of the host, or hosts, where the Network Flow Monitor agent is installed. For example, if a workload consists of an interaction between a web service and a backend database (for example, Amazon Dynamo DB), the subnet with the EC2 instance that hosts the web service, which also runs the agent, is the local resource.
Be aware that all local resources must belong to the current Region.
iv_scopearn
TYPE /AWS1/CWFARN
/AWS1/CWFARN
¶
The Amazon Resource Name (ARN) of the scope for the monitor.
Optional arguments:¶
it_remoteresources
TYPE /AWS1/CL_CWFMONIREMOTERESOURCE=>TT_MONITORREMOTERESOURCES
TT_MONITORREMOTERESOURCES
¶
The remote resources to monitor. A remote resource is the other endpoint in the bi-directional flow of a workload, with a local resource. For example, Amazon Dynamo DB can be a remote resource.
When you specify remote resources, be aware that specific combinations of resources are allowed and others are not, including the following constraints:
All remote resources that you specify must all belong to a single Region.
If you specify Amazon Web Services services as remote resources, any other remote resources that you specify must be in the current Region.
When you specify a remote resource for another Region, you can only specify the
Region
resource type. You cannot specify a subnet, VPC, or Availability Zone in another Region.If you leave the
RemoteResources
parameter empty, the monitor will include all network flows that terminate in the current Region.
iv_clienttoken
TYPE /AWS1/CWFUUIDSTRING
/AWS1/CWFUUIDSTRING
¶
A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don't reuse the same client token for other API requests.
it_tags
TYPE /AWS1/CL_CWFTAGMAP_W=>TT_TAGMAP
TT_TAGMAP
¶
The tags for a monitor. You can add a maximum of 200 tags.
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_cwfcreatemonioutput
/AWS1/CL_CWFCREATEMONIOUTPUT
¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
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->/aws1/if_cwf~createmonitor(
it_localresources = VALUE /aws1/cl_cwfmonilocalresource=>tt_monitorlocalresources(
(
new /aws1/cl_cwfmonilocalresource(
iv_identifier = |string|
iv_type = |string|
)
)
)
it_remoteresources = VALUE /aws1/cl_cwfmoniremoteresource=>tt_monitorremoteresources(
(
new /aws1/cl_cwfmoniremoteresource(
iv_identifier = |string|
iv_type = |string|
)
)
)
it_tags = VALUE /aws1/cl_cwftagmap_w=>tt_tagmap(
(
VALUE /aws1/cl_cwftagmap_w=>ts_tagmap_maprow(
value = new /aws1/cl_cwftagmap_w( |string| )
key = |string|
)
)
)
iv_clienttoken = |string|
iv_monitorname = |string|
iv_scopearn = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_monitorarn = lo_result->get_monitorarn( ).
lv_resourcename = lo_result->get_monitorname( ).
lv_monitorstatus = lo_result->get_monitorstatus( ).
LOOP AT lo_result->get_localresources( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_monitorlocalresourcetyp = lo_row_1->get_type( ).
lv_string = lo_row_1->get_identifier( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_remoteresources( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_monitorremoteresourcety = lo_row_3->get_type( ).
lv_string = lo_row_3->get_identifier( ).
ENDIF.
ENDLOOP.
lv_iso8601timestamp = lo_result->get_createdat( ).
lv_iso8601timestamp = lo_result->get_modifiedat( ).
LOOP AT lo_result->get_tags( ) into ls_row_4.
lv_key = ls_row_4-key.
lo_value = ls_row_4-value.
IF lo_value IS NOT INITIAL.
lv_tagvalue = lo_value->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.