AWS Systems Manager Change Manager ya no está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cambio en la disponibilidad de Change Manager de AWS Systems Manager.
Utilizar RegisterTaskWithMaintenanceWindow con una CLI
Los siguientes ejemplos de código muestran 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-windowse 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"\ --targetsKey=InstanceIds,Values=i-1234520122EXAMPLE\ --task-arnAWS-RestartEC2Instance\ --service-role-arnarn:aws:iam::111222333444:role/SSM--task-typeAUTOMATION\ --task-invocation-parameters "{\"Automation\":{\"DocumentVersion\":\"\$LATEST\",\"Parameters\":{\"InstanceId\":[\"{{RESOURCE_ID}}\"]}}}" \ --priority0\ --max-concurrency1\ --max-errors1\ --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 el periodo 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-windowse 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"\ --targetsKey=InstanceIds,Values=i-12344d305eEXAMPLE\ --task-arnarn:aws:lambda:us-east-1:111222333444:function:SSMTestLAMBDA\ --service-role-arnarn:aws:iam::111222333444:role/SSM\ --task-typeLAMBDA\ --task-invocation-parameters '{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}","Qualifier":"$LATEST"}}' \ --priority0\ --max-concurrency10\ --max-errors5\ --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 el periodo 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-windowse 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 \ --priority10Salida:
{ "WindowTaskId":"33344444-5555-6666-7777-88888888" }Para obtener más información, consulte Registrar una tarea con el periodo 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-windowse 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"\ --targetsKey=WindowTargetIds,Values=12347414-69c3-49f8-95b8-ed2dcEXAMPLE\ --task-arnarn:aws:states:us-east-1:111222333444:stateMachine:SSMTestStateMachine\ --service-role-arnarn:aws:iam::111222333444:role/MaintenanceWindows\ --task-typeSTEP_FUNCTIONS\ --task-invocation-parameters '{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}"}}' \ --priority0\ --max-concurrency10\ --max-errors5\ --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 el periodo 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-windowse 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 comandoaws ssm register-target-with-maintenance-window. También puede recuperarlo del resultado del comandoaws 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-concurrency1\ --max-errors1\ --priority10Salida:
{ "WindowTaskId":"33344444-5555-6666-7777-88888888" }Para obtener más información, consulte Registrar una tarea con el periodo de mantenimiento (AWS CLI) en la Guía del usuario de AWS Systems Manager.
-
Para obtener información sobre la API, consulte RegisterTaskWithMaintenanceWindow
en la Referencia de comandos de la AWS CLI.
-
- PowerShell
-
- Herramientas para PowerShell V4
-
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 $parametersSalida:
f34a2c47-ddfd-4c85-a88d-72366b69af1bEjemplo 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 $parametersSalida:
f34a2c47-ddfd-4c85-a88d-72366b69af1bEjemplo 3: en este ejemplo se crea un objeto de parámetro para el documento de ejecución de comandos
AWS-RunPowerShellScripty 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 @propsSalida:
f1e2ef34-5678-12e3-456a-12334c5c6cbeEjemplo 4: en este ejemplo se registra una tarea de Automatización de AWS Systems Manager mediante un documento denominado
Create-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"-
Para obtener información sobre la API, consulte RegisterTaskWithMaintenanceWindow en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V4).
-
- Herramientas para PowerShell V5
-
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 $parametersSalida:
f34a2c47-ddfd-4c85-a88d-72366b69af1bEjemplo 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 $parametersSalida:
f34a2c47-ddfd-4c85-a88d-72366b69af1bEjemplo 3: en este ejemplo se crea un objeto de parámetro para el documento de ejecución de comandos
AWS-RunPowerShellScripty 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 @propsSalida:
f1e2ef34-5678-12e3-456a-12334c5c6cbeEjemplo 4: en este ejemplo se registra una tarea de Automatización de AWS Systems Manager mediante un documento denominado
Create-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"-
Para obtener información sobre la API, consulte RegisterTaskWithMaintenanceWindow en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V5).
-
Para obtener una lista completa de las guías para desarrolladores de AWS SDK y ejemplos de código, consulte Cómo utilizar este servicio con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.