Utilícelo RegisterTaskWithMaintenanceWindow con un o AWS SDK CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Utilícelo RegisterTaskWithMaintenanceWindow con un o AWS SDK CLI

En los siguientes ejemplos de código, se muestra cómo utilizar RegisterTaskWithMaintenanceWindow.

CLI
AWS CLI

Ejemplo 1: registro de una tarea de Automatización con un periodo de mantenimiento

En el siguiente ejemplo de register-task-with-maintenance-window se registra una tarea de Automatización con un periodo de mantenimiento destinado a una instancia.

aws ssm register-task-with-maintenance-window \ --window-id "mw-082dcd7649EXAMPLE" \ --targets Key=InstanceIds,Values=i-1234520122EXAMPLE \ --task-arn AWS-RestartEC2Instance \ --service-role-arn arn:aws:iam::111222333444:role/SSM --task-type AUTOMATION \ --task-invocation-parameters "{\"Automation\":{\"DocumentVersion\":\"\$LATEST\",\"Parameters\":{\"InstanceId\":[\"{{RESOURCE_ID}}\"]}}}" \ --priority 0 \ --max-concurrency 1 \ --max-errors 1 \ --name "AutomationExample" \ --description "Restarting EC2 Instance for maintenance"

Salida:

{ "WindowTaskId":"11144444-5555-6666-7777-88888888" }

Para obtener más información, consulte Registrar una tarea con la ventana de mantenimiento (AWS CLI) en la Guía del usuario de AWS Systems Manager.

Ejemplo 2: registro de una tarea de Lambda con un periodo de mantenimiento

En el siguiente ejemplo de register-task-with-maintenance-window se registra una tarea de Lambda con un periodo de mantenimiento destinado a una instancia.

aws ssm register-task-with-maintenance-window \ --window-id "mw-082dcd7649dee04e4" \ --targets Key=InstanceIds,Values=i-12344d305eEXAMPLE \ --task-arn arn:aws:lambda:us-east-1:111222333444:function:SSMTestLAMBDA \ --service-role-arn arn:aws:iam::111222333444:role/SSM \ --task-type LAMBDA \ --task-invocation-parameters '{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}","Qualifier":"$LATEST"}}' \ --priority 0 \ --max-concurrency 10 \ --max-errors 5 \ --name "Lambda_Example" \ --description "My Lambda Example"

Salida:

{ "WindowTaskId":"22244444-5555-6666-7777-88888888" }

Para obtener más información, consulte Registrar una tarea con la ventana de mantenimiento (AWS CLI) en la Guía del usuario de AWS Systems Manager.

Ejemplo 3: registro de una tarea de ejecución de un comando con un periodo de mantenimiento

En el siguiente ejemplo de register-task-with-maintenance-window se registra una tarea de ejecución de un comando con un periodo de mantenimiento destinado a una instancia.

aws ssm register-task-with-maintenance-window \ --window-id "mw-082dcd7649dee04e4" \ --targets "Key=InstanceIds,Values=i-12344d305eEXAMPLE" \ --service-role-arn "arn:aws:iam::111222333444:role/SSM" \ --task-type "RUN_COMMAND" \ --name "SSMInstallPowerShellModule" \ --task-arn "AWS-InstallPowerShellModule" \ --task-invocation-parameters "{\"RunCommand\":{\"Comment\":\"\",\"OutputS3BucketName\":\"runcommandlogs\",\"Parameters\":{\"commands\":[\"Get-Module -ListAvailable\"],\"executionTimeout\":[\"3600\"],\"source\":[\"https:\/\/gallery.technet.microsoft.com\/EZOut-33ae0fb7\/file\/110351\/1\/EZOut.zip\"],\"workingDirectory\":[\"\\\\\"]},\"TimeoutSeconds\":600}}" \ --max-concurrency 1 \ --max-errors 1 \ --priority 10

Salida:

{ "WindowTaskId":"33344444-5555-6666-7777-88888888" }

Para obtener más información, consulte Registrar una tarea con la ventana de mantenimiento (AWS CLI) en la Guía del usuario de AWS Systems Manager.

Ejemplo 4: registro de una tarea de Step Functions con un periodo de mantenimiento

En el siguiente ejemplo de register-task-with-maintenance-window se registra una tarea de Step Functions con un periodo de mantenimiento destinado a una instancia.

aws ssm register-task-with-maintenance-window \ --window-id "mw-1234d787d6EXAMPLE" \ --targets Key=WindowTargetIds,Values=12347414-69c3-49f8-95b8-ed2dcEXAMPLE \ --task-arn arn:aws:states:us-east-1:111222333444:stateMachine:SSMTestStateMachine \ --service-role-arn arn:aws:iam::111222333444:role/MaintenanceWindows \ --task-type STEP_FUNCTIONS \ --task-invocation-parameters '{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}"}}' \ --priority 0 \ --max-concurrency 10 \ --max-errors 5 \ --name "Step_Functions_Example" \ --description "My Step Functions Example"

Salida:

{ "WindowTaskId":"44444444-5555-6666-7777-88888888" }

Para obtener más información, consulte Registrar una tarea con la ventana de mantenimiento (AWS CLI) en la Guía del usuario de AWS Systems Manager.

Ejemplo 5: registro de una tarea mediante un ID de destino de un periodo de mantenimiento

En el siguiente ejemplo de register-task-with-maintenance-window se registra una tarea mediante un ID de destino de un periodo de mantenimiento. El ID de destino del periodo de mantenimiento estaba en el resultado del comando aws ssm register-target-with-maintenance-window. También puede recuperarlo del resultado del comando aws ssm describe-maintenance-window-targets.

aws ssm register-task-with-maintenance-window \ --targets "Key=WindowTargetIds,Values=350d44e6-28cc-44e2-951f-4b2c9EXAMPLE" \ --task-arn "AWS-RunShellScript" \ --service-role-arn "arn:aws:iam::111222333444:role/MaintenanceWindowsRole" \ --window-id "mw-ab12cd34eEXAMPLE" \ --task-type "RUN_COMMAND" \ --task-parameters "{\"commands\":{\"Values\":[\"df\"]}}" \ --max-concurrency 1 \ --max-errors 1 \ --priority 10

Salida:

{ "WindowTaskId":"33344444-5555-6666-7777-88888888" }

Para obtener más información, consulte Registrar una tarea con la ventana de mantenimiento (AWS CLI) en la Guía del usuario de AWS Systems Manager.

PowerShell
Herramientas para PowerShell

Ejemplo 1: en este ejemplo se registra una tarea con un periodo de mantenimiento mediante un ID de instancia. El resultado es el ID de la tarea.

$parameters = @{} $parameterValues = New-Object Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression $parameterValues.Values = @("Install") $parameters.Add("Operation", $parameterValues) Register-SSMTaskWithMaintenanceWindow -WindowId "mw-03a342e62c96d31b0" -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" -MaxConcurrency 1 -MaxError 1 -TaskArn "AWS-RunShellScript" -Target @{ Key="InstanceIds";Values="i-0000293ffd8c57862" } -TaskType "RUN_COMMAND" -Priority 10 -TaskParameter $parameters

Salida:

f34a2c47-ddfd-4c85-a88d-72366b69af1b

Ejemplo 2: en este ejemplo se registra una tarea con un periodo de mantenimiento mediante un ID de destino. El resultado es el ID de la tarea.

$parameters = @{} $parameterValues = New-Object Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression $parameterValues.Values = @("Install") $parameters.Add("Operation", $parameterValues) register-ssmtaskwithmaintenancewindow -WindowId "mw-03a342e62c96d31b0" -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" -MaxConcurrency 1 -MaxError 1 -TaskArn "AWS-RunShellScript" -Target @{ Key="WindowTargetIds";Values="350d44e6-28cc-44e2-951f-4b2c985838f6" } -TaskType "RUN_COMMAND" -Priority 10 -TaskParameter $parameters

Salida:

f34a2c47-ddfd-4c85-a88d-72366b69af1b

Ejemplo 3: en este ejemplo se crea un objeto de parámetro para el documento de ejecución de comandos AWS-RunPowerShellScript y se crea una tarea con un periodo de mantenimiento determinado mediante el ID de destino. El resultado devuelto es el ID de la tarea.

$parameters = [Collections.Generic.Dictionary[String,Collections.Generic.List[String]]]::new() $parameters.Add("commands",@("ipconfig","dir env:\computername")) $parameters.Add("executionTimeout",@(3600)) $props = @{ WindowId = "mw-0123e4cce56ff78ae" ServiceRoleArn = "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" MaxConcurrency = 1 MaxError = 1 TaskType = "RUN_COMMAND" TaskArn = "AWS-RunPowerShellScript" Target = @{Key="WindowTargetIds";Values="fe1234ea-56d7-890b-12f3-456b789bee0f"} Priority = 1 RunCommand_Parameter = $parameters Name = "set-via-cmdlet" } Register-SSMTaskWithMaintenanceWindow @props

Salida:

f1e2ef34-5678-12e3-456a-12334c5c6cbe

Ejemplo 4: En este ejemplo se registra una tarea de automatización de AWS Systems Manager mediante un documento denominadoCreate-Snapshots.

$automationParameters = @{} $automationParameters.Add( "instanceId", @("{{ TARGET_ID }}") ) $automationParameters.Add( "AutomationAssumeRole", @("{arn:aws:iam::111111111111:role/AutomationRole}") ) $automationParameters.Add( "SnapshotTimeout", @("PT20M") ) Register-SSMTaskWithMaintenanceWindow -WindowId mw-123EXAMPLE456` -ServiceRoleArn "arn:aws:iam::123456789012:role/MW-Role"` -MaxConcurrency 1 -MaxError 1 -TaskArn "CreateVolumeSnapshots"` -Target @{ Key="WindowTargetIds";Values="4b5acdf4-946c-4355-bd68-4329a43a5fd1" }` -TaskType "AUTOMATION"` -Priority 4` -Automation_DocumentVersion '$DEFAULT' -Automation_Parameter $automationParameters -Name "Create-Snapshots"