Use RegisterTaskWithMaintenanceWindow com um AWS SDK ou CLI - AWS SDK Exemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use RegisterTaskWithMaintenanceWindow com um AWS SDK ou CLI

Os exemplos de códigos a seguir mostram como usar RegisterTaskWithMaintenanceWindow.

CLI
AWS CLI

Exemplo 1: registrar uma tarefa do Automation com uma janela de manutenção

O exemplo de register-task-with-maintenance-window a seguir registra uma tarefa do Automation com uma janela de manutenção voltada para uma instância.

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"

Saída:

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

Para obter mais informações, consulte Registrar uma tarefa com a janela de manutenção (AWS CLI) no Guia do usuário do AWS Systems Manager.

Exemplo 2: registrar uma tarefa do Lambda com uma janela de manutenção

O exemplo de register-task-with-maintenance-window a seguir registra uma tarefa do Lambda com uma janela de manutenção voltada para uma instância.

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"

Saída:

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

Para obter mais informações, consulte Registrar uma tarefa com a janela de manutenção (AWS CLI) no Guia do usuário do AWS Systems Manager.

Exemplo 3: registrar uma tarefa do Run Command com uma janela de manutenção

O exemplo de register-task-with-maintenance-window a seguir registra uma tarefa do Run Command com uma janela de manutenção voltada para uma instância.

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

Saída:

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

Para obter mais informações, consulte Registrar uma tarefa com a janela de manutenção (AWS CLI) no Guia do usuário do AWS Systems Manager.

Exemplo 4: registrar uma tarefa do Step Functions com uma janela de manutenção

O exemplo de register-task-with-maintenance-window a seguir registra uma tarefa do Step Functions com uma janela de manutenção voltada para uma instância.

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"

Saída:

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

Para obter mais informações, consulte Registrar uma tarefa com a janela de manutenção (AWS CLI) no Guia do usuário do AWS Systems Manager.

Exemplo 5: registrar uma tarefa usando um ID de destino de janela de manutenção

O exemplo de register-task-with-maintenance-window a seguir registrar uma tarefa usando um ID de destino de janela de manutenção. O ID de destino da janela de manutenção estava presente na saída do comando aws ssm register-target-with-maintenance-window. Também é possível recuperá-lo da saída do 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

Saída:

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

Para obter mais informações, consulte Registrar uma tarefa com a janela de manutenção (AWS CLI) no Guia do usuário do AWS Systems Manager.

PowerShell
Ferramentas para PowerShell

Exemplo 1: esse exemplo registra uma tarefa com uma janela de manutenção usando um ID de instância. A saída é o ID da tarefa.

$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

Saída:

f34a2c47-ddfd-4c85-a88d-72366b69af1b

Exemplo 2: esse exemplo registra uma tarefa com uma janela de manutenção usando um ID de destino. A saída é o ID da tarefa.

$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

Saída:

f34a2c47-ddfd-4c85-a88d-72366b69af1b

Exemplo 3: esse exemplo cria um objeto de parâmetro para o documento de comandos de execução AWS-RunPowerShellScript e cria uma tarefa com uma janela de manutenção determinada usando o ID de destino. A saída devolvida é o ID da tarefa.

$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

Saída:

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

Exemplo 4: Este exemplo registra uma tarefa do AWS Systems Manager Automation usando um documento chamadoCreate-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"