Utilisation de RegisterTaskWithMaintenanceWindow avec une CLI - AWS Exemples de code SDK

D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples GitHub .

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de RegisterTaskWithMaintenanceWindow avec une CLI

Les exemples de code suivants illustrent comment utiliser RegisterTaskWithMaintenanceWindow.

CLI
AWS CLI

Exemple 1 : enregistrement d’une tâche d’automatisation avec une fenêtre de maintenance

L’exemple de register-task-with-maintenance-window suivant enregistre une tâche d’automatisation avec une fenêtre de maintenance qui est ciblée sur une instance.

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"

Sortie :

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

Pour plus d'informations, consultez la section Enregistrer une tâche avec la fenêtre de maintenance (AWS CLI) dans le guide de l'utilisateur de AWS Systems Manager.

Exemple 2 : enregistrement d’une tâche Lambda avec une fenêtre de maintenance

L’exemple de register-task-with-maintenance-window suivant enregistre une tâche Lambda avec une fenêtre de maintenance ciblée sur une instance.

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"

Sortie :

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

Pour plus d'informations, consultez la section Enregistrer une tâche avec la fenêtre de maintenance (AWS CLI) dans le guide de l'utilisateur de AWS Systems Manager.

Exemple 3 : enregistrement d’une tâche Run Command avec une fenêtre de maintenance

L’exemple de register-task-with-maintenance-window suivant enregistre une tâche Run Command avec une fenêtre de maintenance ciblée sur une instance.

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

Sortie :

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

Pour plus d'informations, consultez la section Enregistrer une tâche avec la fenêtre de maintenance (AWS CLI) dans le guide de l'utilisateur de AWS Systems Manager.

Exemple 4 : enregistrement d’une tâche Step Functions avec une fenêtre de maintenance

L’exemple de register-task-with-maintenance-window suivant enregistre une tâche Step Functions avec une fenêtre de maintenance ciblée sur une instance.

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"

Sortie :

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

Pour plus d'informations, consultez la section Enregistrer une tâche avec la fenêtre de maintenance (AWS CLI) dans le guide de l'utilisateur de AWS Systems Manager.

Exemple 5 : enregistrement d’une tâche à l’aide de l’ID cible d’une fenêtre de maintenance

L’exemple de register-task-with-maintenance-window suivant enregistre une tâche à l’aide de l’ID cible d’une fenêtre de maintenance. L’ID cible de la fenêtre de maintenance se trouvait dans la sortie de la commande aws ssm register-target-with-maintenance-window. Vous pouvez également le récupérer à partir de la sortie de la commande 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

Sortie :

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

Pour plus d'informations, consultez la section Enregistrer une tâche avec la fenêtre de maintenance (AWS CLI) dans le guide de l'utilisateur de AWS Systems Manager.

PowerShell
Outils pour PowerShell V4

Exemple 1 : cet exemple enregistre une tâche avec une fenêtre de maintenance à l’aide d’un ID d’instance. Le résultat est l’ID de tâche.

$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

Sortie :

f34a2c47-ddfd-4c85-a88d-72366b69af1b

Exemple 2 : cet exemple enregistre une tâche avec une fenêtre de maintenance à l’aide d’un ID cible. Le résultat est l’ID de tâche.

$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

Sortie :

f34a2c47-ddfd-4c85-a88d-72366b69af1b

Exemple 3 : cet exemple crée un objet paramètre pour le document de commande d’exécution AWS-RunPowerShellScript et crée une tâche avec une fenêtre de maintenance donnée à l’aide de l’ID cible. La sortie de retour est l’ID de la tâche.

$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

Sortie :

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

Exemple 4 : Cet exemple enregistre une tâche d'automatisation de AWS Systems Manager à l'aide d'un document nommé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"
Outils pour PowerShell V5

Exemple 1 : cet exemple enregistre une tâche avec une fenêtre de maintenance à l’aide d’un ID d’instance. Le résultat est l’ID de tâche.

$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

Sortie :

f34a2c47-ddfd-4c85-a88d-72366b69af1b

Exemple 2 : cet exemple enregistre une tâche avec une fenêtre de maintenance à l’aide d’un ID cible. Le résultat est l’ID de tâche.

$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

Sortie :

f34a2c47-ddfd-4c85-a88d-72366b69af1b

Exemple 3 : cet exemple crée un objet paramètre pour le document de commande d’exécution AWS-RunPowerShellScript et crée une tâche avec une fenêtre de maintenance donnée à l’aide de l’ID cible. La sortie de retour est l’ID de la tâche.

$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

Sortie :

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

Exemple 4 : Cet exemple enregistre une tâche d'automatisation de AWS Systems Manager à l'aide d'un document nommé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"