/AWS1/IF_ECS=>EXECUTECOMMAND()¶
About ExecuteCommand¶
Runs a command remotely on a container within a task.
If you use a condition key in your IAM policy to refine the conditions for the policy
statement, for example limit the actions to a specific cluster, you receive an
AccessDeniedException when there is a mismatch between the condition
key value and the corresponding parameter value.
For information about required permissions and considerations, see Using Amazon ECS Exec for debugging in the Amazon ECS Developer Guide.
Method Signature¶
METHODS /AWS1/IF_ECS~EXECUTECOMMAND
IMPORTING
!IV_CLUSTER TYPE /AWS1/ECSSTRING OPTIONAL
!IV_CONTAINER TYPE /AWS1/ECSSTRING OPTIONAL
!IV_COMMAND TYPE /AWS1/ECSSTRING OPTIONAL
!IV_INTERACTIVE TYPE /AWS1/ECSBOOLEAN OPTIONAL
!IV_TASK TYPE /AWS1/ECSSTRING OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ecsexecutecommandrsp
RAISING
/AWS1/CX_ECSACCESSDENIEDEX
/AWS1/CX_ECSCLIENTEXCEPTION
/AWS1/CX_ECSCLUSTERNOTFOUNDEX
/AWS1/CX_ECSINVALIDPARAMETEREX
/AWS1/CX_ECSSERVEREXCEPTION
/AWS1/CX_ECSTARGETNOTCNCTEDEX
/AWS1/CX_ECSCLIENTEXC
/AWS1/CX_ECSSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_command TYPE /AWS1/ECSSTRING /AWS1/ECSSTRING¶
The command to run on the container.
iv_interactive TYPE /AWS1/ECSBOOLEAN /AWS1/ECSBOOLEAN¶
Use this flag to run your command in interactive mode.
iv_task TYPE /AWS1/ECSSTRING /AWS1/ECSSTRING¶
The Amazon Resource Name (ARN) or ID of the task the container is part of.
Optional arguments:¶
iv_cluster TYPE /AWS1/ECSSTRING /AWS1/ECSSTRING¶
The Amazon Resource Name (ARN) or short name of the cluster the task is running in. If you do not specify a cluster, the default cluster is assumed.
iv_container TYPE /AWS1/ECSSTRING /AWS1/ECSSTRING¶
The name of the container to execute the command on. A container name only needs to be specified for tasks containing multiple containers.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_ecsexecutecommandrsp /AWS1/CL_ECSEXECUTECOMMANDRSP¶
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->executecommand(
iv_cluster = |string|
iv_command = |string|
iv_container = |string|
iv_interactive = ABAP_TRUE
iv_task = |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_clusterarn( ).
lv_string = lo_result->get_containerarn( ).
lv_string = lo_result->get_containername( ).
lv_boolean = lo_result->get_interactive( ).
lo_session = lo_result->get_session( ).
IF lo_session IS NOT INITIAL.
lv_string = lo_session->get_sessionid( ).
lv_string = lo_session->get_streamurl( ).
lv_sensitivestring = lo_session->get_tokenvalue( ).
ENDIF.
lv_string = lo_result->get_taskarn( ).
ENDIF.
To run a command remotely on a container in a task¶
This example runs an interactive /bin/sh command on a container MyContainer.
DATA(lo_result) = lo_client->executecommand(
iv_cluster = |MyCluster|
iv_command = |/bin/sh|
iv_container = |MyContainer|
iv_interactive = ABAP_TRUE
iv_task = |arn:aws:ecs:us-east-1:123456789012:task/MyCluster/d789e94343414c25b9f6bd59eEXAMPLE|
).