/AWS1/IF_SSM=>REGTASKWITHMAINTENANCEWINDOW()¶
About RegisterTaskWithMaintenanceWindow¶
Adds a new task to a maintenance window.
Method Signature¶
METHODS /AWS1/IF_SSM~REGTASKWITHMAINTENANCEWINDOW
IMPORTING
!IV_WINDOWID TYPE /AWS1/SSMMAINTENANCEWINDOWID OPTIONAL
!IT_TARGETS TYPE /AWS1/CL_SSMTARGET=>TT_TARGETS OPTIONAL
!IV_TASKARN TYPE /AWS1/SSMMAINTENANCEWINDOWTS03 OPTIONAL
!IV_SERVICEROLEARN TYPE /AWS1/SSMSERVICEROLE OPTIONAL
!IV_TASKTYPE TYPE /AWS1/SSMMAINTENANCEWINDOWTS01 OPTIONAL
!IT_TASKPARAMETERS TYPE /AWS1/CL_SSMMAINTENANCEWINDO09=>TT_MAINTENANCEWINDOWTASKPARAMS OPTIONAL
!IO_TASKINVOCATIONPARAMETERS TYPE REF TO /AWS1/CL_SSMMAINTENANCEWINDO12 OPTIONAL
!IV_PRIORITY TYPE /AWS1/SSMMAINTENANCEWINDOWTS06 OPTIONAL
!IV_MAXCONCURRENCY TYPE /AWS1/SSMMAXCONCURRENCY OPTIONAL
!IV_MAXERRORS TYPE /AWS1/SSMMAXERRORS OPTIONAL
!IO_LOGGINGINFO TYPE REF TO /AWS1/CL_SSMLOGGINGINFO OPTIONAL
!IV_NAME TYPE /AWS1/SSMMAINTENANCEWINDOWNAME OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/SSMMAINTENANCEWINDOWDESC OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/SSMCLIENTTOKEN OPTIONAL
!IV_CUTOFFBEHAVIOR TYPE /AWS1/SSMMAINTENANCEWINDOWTS07 OPTIONAL
!IO_ALARMCONFIGURATION TYPE REF TO /AWS1/CL_SSMALARMCONFIGURATION OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ssmregtskwmaintenan01
RAISING
/AWS1/CX_SSMDOESNOTEXISTEX
/AWS1/CX_SSMFEATNOTAVAILABLEEX
/AWS1/CX_SSMIDEMPOTENTPRMMIS00
/AWS1/CX_SSMINTERNALSERVERERR
/AWS1/CX_SSMRESRCLIMITEXCDEX
/AWS1/CX_SSMCLIENTEXC
/AWS1/CX_SSMSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_windowid TYPE /AWS1/SSMMAINTENANCEWINDOWID /AWS1/SSMMAINTENANCEWINDOWID¶
The ID of the maintenance window the task should be added to.
iv_taskarn TYPE /AWS1/SSMMAINTENANCEWINDOWTS03 /AWS1/SSMMAINTENANCEWINDOWTS03¶
The ARN of the task to run.
iv_tasktype TYPE /AWS1/SSMMAINTENANCEWINDOWTS01 /AWS1/SSMMAINTENANCEWINDOWTS01¶
The type of task being registered.
Optional arguments:¶
it_targets TYPE /AWS1/CL_SSMTARGET=>TT_TARGETS TT_TARGETS¶
The targets (either managed nodes or maintenance window targets).
One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don't specify targets, see Registering maintenance window tasks without targets in the Amazon Web Services Systems Manager User Guide.
Specify managed nodes using the following format:
Key=InstanceIds,Values=, Specify maintenance window targets using the following format:
Key=WindowTargetIds,Values=,
iv_servicerolearn TYPE /AWS1/SSMSERVICEROLE /AWS1/SSMSERVICEROLE¶
The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run
RegisterTaskWithMaintenanceWindow.However, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see Setting up Maintenance Windows in the in the Amazon Web Services Systems Manager User Guide.
it_taskparameters TYPE /AWS1/CL_SSMMAINTENANCEWINDO09=>TT_MAINTENANCEWINDOWTASKPARAMS TT_MAINTENANCEWINDOWTASKPARAMS¶
The parameters that should be passed to the task when it is run.
TaskParametershas been deprecated. To specify parameters to pass to a task when it runs, instead use theParametersoption in theTaskInvocationParametersstructure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
io_taskinvocationparameters TYPE REF TO /AWS1/CL_SSMMAINTENANCEWINDO12 /AWS1/CL_SSMMAINTENANCEWINDO12¶
The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.
iv_priority TYPE /AWS1/SSMMAINTENANCEWINDOWTS06 /AWS1/SSMMAINTENANCEWINDOWTS06¶
The priority of the task in the maintenance window, the lower the number the higher the priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the same priority scheduled in parallel.
iv_maxconcurrency TYPE /AWS1/SSMMAXCONCURRENCY /AWS1/SSMMAXCONCURRENCY¶
The maximum number of targets this task can be run for, in parallel.
Although this element is listed as "Required: No", a value can be omitted only when you are registering or updating a targetless task You must provide a value in all other cases.
For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of
1. This value doesn't affect the running of your task.
iv_maxerrors TYPE /AWS1/SSMMAXERRORS /AWS1/SSMMAXERRORS¶
The maximum number of errors allowed before this task stops being scheduled.
Although this element is listed as "Required: No", a value can be omitted only when you are registering or updating a targetless task You must provide a value in all other cases.
For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of
1. This value doesn't affect the running of your task.
io_logginginfo TYPE REF TO /AWS1/CL_SSMLOGGINGINFO /AWS1/CL_SSMLOGGINGINFO¶
A structure containing information about an Amazon Simple Storage Service (Amazon S3) bucket to write managed node-level logs to.
LoggingInfohas been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use theOutputS3BucketNameandOutputS3KeyPrefixoptions in theTaskInvocationParametersstructure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
iv_name TYPE /AWS1/SSMMAINTENANCEWINDOWNAME /AWS1/SSMMAINTENANCEWINDOWNAME¶
An optional name for the task.
iv_description TYPE /AWS1/SSMMAINTENANCEWINDOWDESC /AWS1/SSMMAINTENANCEWINDOWDESC¶
An optional description for the task.
iv_clienttoken TYPE /AWS1/SSMCLIENTTOKEN /AWS1/SSMCLIENTTOKEN¶
User-provided idempotency token.
iv_cutoffbehavior TYPE /AWS1/SSMMAINTENANCEWINDOWTS07 /AWS1/SSMMAINTENANCEWINDOWTS07¶
Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached.
CONTINUE_TASK: When the cutoff time is reached, any tasks that are running continue. The default value.
CANCEL_TASK:
For Automation, Lambda, Step Functions tasks: When the cutoff time is reached, any task invocations that are already running continue, but no new task invocations are started.
For Run Command tasks: When the cutoff time is reached, the system sends a CancelCommand operation that attempts to cancel the command associated with the task. However, there is no guarantee that the command will be terminated and the underlying process stopped.
The status for tasks that are not completed is
TIMED_OUT.
io_alarmconfiguration TYPE REF TO /AWS1/CL_SSMALARMCONFIGURATION /AWS1/CL_SSMALARMCONFIGURATION¶
The CloudWatch alarm you want to apply to your maintenance window task.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_ssmregtskwmaintenan01 /AWS1/CL_SSMREGTSKWMAINTENAN01¶
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->regtaskwithmaintenancewindow(
io_alarmconfiguration = new /aws1/cl_ssmalarmconfiguration(
it_alarms = VALUE /aws1/cl_ssmalarm=>tt_alarmlist(
( new /aws1/cl_ssmalarm( |string| ) )
)
iv_ignorepollalarmfailure = ABAP_TRUE
)
io_logginginfo = new /aws1/cl_ssmlogginginfo(
iv_s3bucketname = |string|
iv_s3keyprefix = |string|
iv_s3region = |string|
)
io_taskinvocationparameters = new /aws1/cl_ssmmaintenancewindo12(
io_automation = new /aws1/cl_ssmmaintenancewindo14(
it_parameters = VALUE /aws1/cl_ssmautomationprmval00=>tt_automationparametermap(
(
VALUE /aws1/cl_ssmautomationprmval00=>ts_automationparammap_maprow(
key = |string|
value = VALUE /aws1/cl_ssmautomationprmval00=>tt_automationparamvaluelist(
( new /aws1/cl_ssmautomationprmval00( |string| ) )
)
)
)
)
iv_documentversion = |string|
)
io_lambda = new /aws1/cl_ssmmaintenancewindo16(
iv_clientcontext = |string|
iv_payload = '5347567362473873563239796247513D'
iv_qualifier = |string|
)
io_runcommand = new /aws1/cl_ssmmaintenancewindo13(
io_cloudwatchoutputconfig = new /aws1/cl_ssmcloudwatchoutcfg(
iv_cloudwatchloggroupname = |string|
iv_cloudwatchoutputenabled = ABAP_TRUE
)
io_notificationconfig = new /aws1/cl_ssmnotificationconfig(
it_notificationevents = VALUE /aws1/cl_ssmnotifeventlist_w=>tt_notificationeventlist(
( new /aws1/cl_ssmnotifeventlist_w( |string| ) )
)
iv_notificationarn = |string|
iv_notificationtype = |string|
)
it_parameters = VALUE /aws1/cl_ssmparamvaluelist_w=>tt_parameters(
(
VALUE /aws1/cl_ssmparamvaluelist_w=>ts_parameters_maprow(
value = VALUE /aws1/cl_ssmparamvaluelist_w=>tt_parametervaluelist(
( new /aws1/cl_ssmparamvaluelist_w( |string| ) )
)
key = |string|
)
)
)
iv_comment = |string|
iv_documenthash = |string|
iv_documenthashtype = |string|
iv_documentversion = |string|
iv_outputs3bucketname = |string|
iv_outputs3keyprefix = |string|
iv_servicerolearn = |string|
iv_timeoutseconds = 123
)
io_stepfunctions = new /aws1/cl_ssmmaintenancewindo15(
iv_input = |string|
iv_name = |string|
)
)
it_targets = VALUE /aws1/cl_ssmtarget=>tt_targets(
(
new /aws1/cl_ssmtarget(
it_values = VALUE /aws1/cl_ssmtargetvalues_w=>tt_targetvalues(
( new /aws1/cl_ssmtargetvalues_w( |string| ) )
)
iv_key = |string|
)
)
)
it_taskparameters = VALUE /aws1/cl_ssmmaintenancewindo09=>tt_maintenancewindowtaskparams(
(
VALUE /aws1/cl_ssmmaintenancewindo09=>ts_maintenancewindowt00_maprow(
key = |string|
value = new /aws1/cl_ssmmaintenancewindo09(
it_values = VALUE /aws1/cl_ssmmaintenancewindo10=>tt_maintenancewindowtskprmva00(
( new /aws1/cl_ssmmaintenancewindo10( |string| ) )
)
)
)
)
)
iv_clienttoken = |string|
iv_cutoffbehavior = |string|
iv_description = |string|
iv_maxconcurrency = |string|
iv_maxerrors = |string|
iv_name = |string|
iv_priority = 123
iv_servicerolearn = |string|
iv_taskarn = |string|
iv_tasktype = |string|
iv_windowid = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_maintenancewindowtaskid = lo_result->get_windowtaskid( ).
ENDIF.