

D'autres exemples de AWS SDK sont disponibles dans le référentiel [AWS Doc SDK Examples](https://github.com/awsdocs/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.

# Exemples de code pour Systems Manager utilisant AWS SDKs
<a name="ssm_code_examples"></a>

Les exemples de code suivants vous montrent comment utiliser AWS Systems Manager un kit de développement AWS logiciel (SDK).

Les *principes de base* sont des exemples de code qui vous montrent comment effectuer les opérations essentielles au sein d’un service.

Les *actions* sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

**Ressources supplémentaires**
+  **[Guide de l’utilisateur Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)** : plus d’informations sur Systems Manager.
+ **[Référence des API Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/APIReference/Welcome.html)** : détails sur toutes les actions Systems Manager disponibles.
+ **[AWS Centre pour les développeurs](https://aws.amazon.com/developer/code-examples/?awsf.sdk-code-examples-product=product%23systems-mgr)** : exemples de code que vous pouvez filtrer par catégorie ou par recherche en texte intégral.
+ **[AWS Exemples de SDK](https://github.com/awsdocs/aws-doc-sdk-examples)** : GitHub dépôt avec code complet dans les langues préférées. Inclut des instructions sur la configuration et l’exécution du code.

**Contents**
+ [Principes de base](ssm_code_examples_basics.md)
  + [Bonjour Systems Manager](ssm_example_ssm_Hello_section.md)
  + [Principes de base](ssm_example_ssm_Scenario_section.md)
  + [Actions](ssm_code_examples_actions.md)
    + [`AddTagsToResource`](ssm_example_ssm_AddTagsToResource_section.md)
    + [`CancelCommand`](ssm_example_ssm_CancelCommand_section.md)
    + [`CreateActivation`](ssm_example_ssm_CreateActivation_section.md)
    + [`CreateAssociation`](ssm_example_ssm_CreateAssociation_section.md)
    + [`CreateAssociationBatch`](ssm_example_ssm_CreateAssociationBatch_section.md)
    + [`CreateDocument`](ssm_example_ssm_CreateDocument_section.md)
    + [`CreateMaintenanceWindow`](ssm_example_ssm_CreateMaintenanceWindow_section.md)
    + [`CreateOpsItem`](ssm_example_ssm_CreateOpsItem_section.md)
    + [`CreatePatchBaseline`](ssm_example_ssm_CreatePatchBaseline_section.md)
    + [`DeleteActivation`](ssm_example_ssm_DeleteActivation_section.md)
    + [`DeleteAssociation`](ssm_example_ssm_DeleteAssociation_section.md)
    + [`DeleteDocument`](ssm_example_ssm_DeleteDocument_section.md)
    + [`DeleteMaintenanceWindow`](ssm_example_ssm_DeleteMaintenanceWindow_section.md)
    + [`DeleteOpsItem`](ssm_example_ssm_DeleteOpsItem_section.md)
    + [`DeleteParameter`](ssm_example_ssm_DeleteParameter_section.md)
    + [`DeletePatchBaseline`](ssm_example_ssm_DeletePatchBaseline_section.md)
    + [`DeregisterManagedInstance`](ssm_example_ssm_DeregisterManagedInstance_section.md)
    + [`DeregisterPatchBaselineForPatchGroup`](ssm_example_ssm_DeregisterPatchBaselineForPatchGroup_section.md)
    + [`DeregisterTargetFromMaintenanceWindow`](ssm_example_ssm_DeregisterTargetFromMaintenanceWindow_section.md)
    + [`DeregisterTaskFromMaintenanceWindow`](ssm_example_ssm_DeregisterTaskFromMaintenanceWindow_section.md)
    + [`DescribeActivations`](ssm_example_ssm_DescribeActivations_section.md)
    + [`DescribeAssociation`](ssm_example_ssm_DescribeAssociation_section.md)
    + [`DescribeAssociationExecutionTargets`](ssm_example_ssm_DescribeAssociationExecutionTargets_section.md)
    + [`DescribeAssociationExecutions`](ssm_example_ssm_DescribeAssociationExecutions_section.md)
    + [`DescribeAutomationExecutions`](ssm_example_ssm_DescribeAutomationExecutions_section.md)
    + [`DescribeAutomationStepExecutions`](ssm_example_ssm_DescribeAutomationStepExecutions_section.md)
    + [`DescribeAvailablePatches`](ssm_example_ssm_DescribeAvailablePatches_section.md)
    + [`DescribeDocument`](ssm_example_ssm_DescribeDocument_section.md)
    + [`DescribeDocumentPermission`](ssm_example_ssm_DescribeDocumentPermission_section.md)
    + [`DescribeEffectiveInstanceAssociations`](ssm_example_ssm_DescribeEffectiveInstanceAssociations_section.md)
    + [`DescribeEffectivePatchesForPatchBaseline`](ssm_example_ssm_DescribeEffectivePatchesForPatchBaseline_section.md)
    + [`DescribeInstanceAssociationsStatus`](ssm_example_ssm_DescribeInstanceAssociationsStatus_section.md)
    + [`DescribeInstanceInformation`](ssm_example_ssm_DescribeInstanceInformation_section.md)
    + [`DescribeInstancePatchStates`](ssm_example_ssm_DescribeInstancePatchStates_section.md)
    + [`DescribeInstancePatchStatesForPatchGroup`](ssm_example_ssm_DescribeInstancePatchStatesForPatchGroup_section.md)
    + [`DescribeInstancePatches`](ssm_example_ssm_DescribeInstancePatches_section.md)
    + [`DescribeMaintenanceWindowExecutionTaskInvocations`](ssm_example_ssm_DescribeMaintenanceWindowExecutionTaskInvocations_section.md)
    + [`DescribeMaintenanceWindowExecutionTasks`](ssm_example_ssm_DescribeMaintenanceWindowExecutionTasks_section.md)
    + [`DescribeMaintenanceWindowExecutions`](ssm_example_ssm_DescribeMaintenanceWindowExecutions_section.md)
    + [`DescribeMaintenanceWindowTargets`](ssm_example_ssm_DescribeMaintenanceWindowTargets_section.md)
    + [`DescribeMaintenanceWindowTasks`](ssm_example_ssm_DescribeMaintenanceWindowTasks_section.md)
    + [`DescribeMaintenanceWindows`](ssm_example_ssm_DescribeMaintenanceWindows_section.md)
    + [`DescribeOpsItems`](ssm_example_ssm_DescribeOpsItems_section.md)
    + [`DescribeParameters`](ssm_example_ssm_DescribeParameters_section.md)
    + [`DescribePatchBaselines`](ssm_example_ssm_DescribePatchBaselines_section.md)
    + [`DescribePatchGroupState`](ssm_example_ssm_DescribePatchGroupState_section.md)
    + [`DescribePatchGroups`](ssm_example_ssm_DescribePatchGroups_section.md)
    + [`GetAutomationExecution`](ssm_example_ssm_GetAutomationExecution_section.md)
    + [`GetCommandInvocation`](ssm_example_ssm_GetCommandInvocation_section.md)
    + [`GetConnectionStatus`](ssm_example_ssm_GetConnectionStatus_section.md)
    + [`GetDefaultPatchBaseline`](ssm_example_ssm_GetDefaultPatchBaseline_section.md)
    + [`GetDeployablePatchSnapshotForInstance`](ssm_example_ssm_GetDeployablePatchSnapshotForInstance_section.md)
    + [`GetDocument`](ssm_example_ssm_GetDocument_section.md)
    + [`GetInventory`](ssm_example_ssm_GetInventory_section.md)
    + [`GetInventorySchema`](ssm_example_ssm_GetInventorySchema_section.md)
    + [`GetMaintenanceWindow`](ssm_example_ssm_GetMaintenanceWindow_section.md)
    + [`GetMaintenanceWindowExecution`](ssm_example_ssm_GetMaintenanceWindowExecution_section.md)
    + [`GetMaintenanceWindowExecutionTask`](ssm_example_ssm_GetMaintenanceWindowExecutionTask_section.md)
    + [`GetParameter`](ssm_example_ssm_GetParameter_section.md)
    + [`GetParameterHistory`](ssm_example_ssm_GetParameterHistory_section.md)
    + [`GetParameters`](ssm_example_ssm_GetParameters_section.md)
    + [`GetPatchBaseline`](ssm_example_ssm_GetPatchBaseline_section.md)
    + [`GetPatchBaselineForPatchGroup`](ssm_example_ssm_GetPatchBaselineForPatchGroup_section.md)
    + [`ListAssociationVersions`](ssm_example_ssm_ListAssociationVersions_section.md)
    + [`ListAssociations`](ssm_example_ssm_ListAssociations_section.md)
    + [`ListCommandInvocations`](ssm_example_ssm_ListCommandInvocations_section.md)
    + [`ListCommands`](ssm_example_ssm_ListCommands_section.md)
    + [`ListComplianceItems`](ssm_example_ssm_ListComplianceItems_section.md)
    + [`ListComplianceSummaries`](ssm_example_ssm_ListComplianceSummaries_section.md)
    + [`ListDocumentVersions`](ssm_example_ssm_ListDocumentVersions_section.md)
    + [`ListDocuments`](ssm_example_ssm_ListDocuments_section.md)
    + [`ListInventoryEntries`](ssm_example_ssm_ListInventoryEntries_section.md)
    + [`ListResourceComplianceSummaries`](ssm_example_ssm_ListResourceComplianceSummaries_section.md)
    + [`ListTagsForResource`](ssm_example_ssm_ListTagsForResource_section.md)
    + [`ModifyDocumentPermission`](ssm_example_ssm_ModifyDocumentPermission_section.md)
    + [`PutComplianceItems`](ssm_example_ssm_PutComplianceItems_section.md)
    + [`PutInventory`](ssm_example_ssm_PutInventory_section.md)
    + [`PutParameter`](ssm_example_ssm_PutParameter_section.md)
    + [`RegisterDefaultPatchBaseline`](ssm_example_ssm_RegisterDefaultPatchBaseline_section.md)
    + [`RegisterPatchBaselineForPatchGroup`](ssm_example_ssm_RegisterPatchBaselineForPatchGroup_section.md)
    + [`RegisterTargetWithMaintenanceWindow`](ssm_example_ssm_RegisterTargetWithMaintenanceWindow_section.md)
    + [`RegisterTaskWithMaintenanceWindow`](ssm_example_ssm_RegisterTaskWithMaintenanceWindow_section.md)
    + [`RemoveTagsFromResource`](ssm_example_ssm_RemoveTagsFromResource_section.md)
    + [`SendCommand`](ssm_example_ssm_SendCommand_section.md)
    + [`StartAutomationExecution`](ssm_example_ssm_StartAutomationExecution_section.md)
    + [`StartSession`](ssm_example_ssm_StartSession_section.md)
    + [`StopAutomationExecution`](ssm_example_ssm_StopAutomationExecution_section.md)
    + [`UpdateAssociation`](ssm_example_ssm_UpdateAssociation_section.md)
    + [`UpdateAssociationStatus`](ssm_example_ssm_UpdateAssociationStatus_section.md)
    + [`UpdateDocument`](ssm_example_ssm_UpdateDocument_section.md)
    + [`UpdateDocumentDefaultVersion`](ssm_example_ssm_UpdateDocumentDefaultVersion_section.md)
    + [`UpdateMaintenanceWindow`](ssm_example_ssm_UpdateMaintenanceWindow_section.md)
    + [`UpdateManagedInstanceRole`](ssm_example_ssm_UpdateManagedInstanceRole_section.md)
    + [`UpdateOpsItem`](ssm_example_ssm_UpdateOpsItem_section.md)
    + [`UpdatePatchBaseline`](ssm_example_ssm_UpdatePatchBaseline_section.md)

# Exemples de base pour l'utilisation de Systems Manager AWS SDKs
<a name="ssm_code_examples_basics"></a>

Les exemples de code suivants montrent comment utiliser les principes de base de AWS Systems Manager with AWS SDKs. 

**Contents**
+ [Bonjour Systems Manager](ssm_example_ssm_Hello_section.md)
+ [Principes de base](ssm_example_ssm_Scenario_section.md)
+ [Actions](ssm_code_examples_actions.md)
  + [`AddTagsToResource`](ssm_example_ssm_AddTagsToResource_section.md)
  + [`CancelCommand`](ssm_example_ssm_CancelCommand_section.md)
  + [`CreateActivation`](ssm_example_ssm_CreateActivation_section.md)
  + [`CreateAssociation`](ssm_example_ssm_CreateAssociation_section.md)
  + [`CreateAssociationBatch`](ssm_example_ssm_CreateAssociationBatch_section.md)
  + [`CreateDocument`](ssm_example_ssm_CreateDocument_section.md)
  + [`CreateMaintenanceWindow`](ssm_example_ssm_CreateMaintenanceWindow_section.md)
  + [`CreateOpsItem`](ssm_example_ssm_CreateOpsItem_section.md)
  + [`CreatePatchBaseline`](ssm_example_ssm_CreatePatchBaseline_section.md)
  + [`DeleteActivation`](ssm_example_ssm_DeleteActivation_section.md)
  + [`DeleteAssociation`](ssm_example_ssm_DeleteAssociation_section.md)
  + [`DeleteDocument`](ssm_example_ssm_DeleteDocument_section.md)
  + [`DeleteMaintenanceWindow`](ssm_example_ssm_DeleteMaintenanceWindow_section.md)
  + [`DeleteOpsItem`](ssm_example_ssm_DeleteOpsItem_section.md)
  + [`DeleteParameter`](ssm_example_ssm_DeleteParameter_section.md)
  + [`DeletePatchBaseline`](ssm_example_ssm_DeletePatchBaseline_section.md)
  + [`DeregisterManagedInstance`](ssm_example_ssm_DeregisterManagedInstance_section.md)
  + [`DeregisterPatchBaselineForPatchGroup`](ssm_example_ssm_DeregisterPatchBaselineForPatchGroup_section.md)
  + [`DeregisterTargetFromMaintenanceWindow`](ssm_example_ssm_DeregisterTargetFromMaintenanceWindow_section.md)
  + [`DeregisterTaskFromMaintenanceWindow`](ssm_example_ssm_DeregisterTaskFromMaintenanceWindow_section.md)
  + [`DescribeActivations`](ssm_example_ssm_DescribeActivations_section.md)
  + [`DescribeAssociation`](ssm_example_ssm_DescribeAssociation_section.md)
  + [`DescribeAssociationExecutionTargets`](ssm_example_ssm_DescribeAssociationExecutionTargets_section.md)
  + [`DescribeAssociationExecutions`](ssm_example_ssm_DescribeAssociationExecutions_section.md)
  + [`DescribeAutomationExecutions`](ssm_example_ssm_DescribeAutomationExecutions_section.md)
  + [`DescribeAutomationStepExecutions`](ssm_example_ssm_DescribeAutomationStepExecutions_section.md)
  + [`DescribeAvailablePatches`](ssm_example_ssm_DescribeAvailablePatches_section.md)
  + [`DescribeDocument`](ssm_example_ssm_DescribeDocument_section.md)
  + [`DescribeDocumentPermission`](ssm_example_ssm_DescribeDocumentPermission_section.md)
  + [`DescribeEffectiveInstanceAssociations`](ssm_example_ssm_DescribeEffectiveInstanceAssociations_section.md)
  + [`DescribeEffectivePatchesForPatchBaseline`](ssm_example_ssm_DescribeEffectivePatchesForPatchBaseline_section.md)
  + [`DescribeInstanceAssociationsStatus`](ssm_example_ssm_DescribeInstanceAssociationsStatus_section.md)
  + [`DescribeInstanceInformation`](ssm_example_ssm_DescribeInstanceInformation_section.md)
  + [`DescribeInstancePatchStates`](ssm_example_ssm_DescribeInstancePatchStates_section.md)
  + [`DescribeInstancePatchStatesForPatchGroup`](ssm_example_ssm_DescribeInstancePatchStatesForPatchGroup_section.md)
  + [`DescribeInstancePatches`](ssm_example_ssm_DescribeInstancePatches_section.md)
  + [`DescribeMaintenanceWindowExecutionTaskInvocations`](ssm_example_ssm_DescribeMaintenanceWindowExecutionTaskInvocations_section.md)
  + [`DescribeMaintenanceWindowExecutionTasks`](ssm_example_ssm_DescribeMaintenanceWindowExecutionTasks_section.md)
  + [`DescribeMaintenanceWindowExecutions`](ssm_example_ssm_DescribeMaintenanceWindowExecutions_section.md)
  + [`DescribeMaintenanceWindowTargets`](ssm_example_ssm_DescribeMaintenanceWindowTargets_section.md)
  + [`DescribeMaintenanceWindowTasks`](ssm_example_ssm_DescribeMaintenanceWindowTasks_section.md)
  + [`DescribeMaintenanceWindows`](ssm_example_ssm_DescribeMaintenanceWindows_section.md)
  + [`DescribeOpsItems`](ssm_example_ssm_DescribeOpsItems_section.md)
  + [`DescribeParameters`](ssm_example_ssm_DescribeParameters_section.md)
  + [`DescribePatchBaselines`](ssm_example_ssm_DescribePatchBaselines_section.md)
  + [`DescribePatchGroupState`](ssm_example_ssm_DescribePatchGroupState_section.md)
  + [`DescribePatchGroups`](ssm_example_ssm_DescribePatchGroups_section.md)
  + [`GetAutomationExecution`](ssm_example_ssm_GetAutomationExecution_section.md)
  + [`GetCommandInvocation`](ssm_example_ssm_GetCommandInvocation_section.md)
  + [`GetConnectionStatus`](ssm_example_ssm_GetConnectionStatus_section.md)
  + [`GetDefaultPatchBaseline`](ssm_example_ssm_GetDefaultPatchBaseline_section.md)
  + [`GetDeployablePatchSnapshotForInstance`](ssm_example_ssm_GetDeployablePatchSnapshotForInstance_section.md)
  + [`GetDocument`](ssm_example_ssm_GetDocument_section.md)
  + [`GetInventory`](ssm_example_ssm_GetInventory_section.md)
  + [`GetInventorySchema`](ssm_example_ssm_GetInventorySchema_section.md)
  + [`GetMaintenanceWindow`](ssm_example_ssm_GetMaintenanceWindow_section.md)
  + [`GetMaintenanceWindowExecution`](ssm_example_ssm_GetMaintenanceWindowExecution_section.md)
  + [`GetMaintenanceWindowExecutionTask`](ssm_example_ssm_GetMaintenanceWindowExecutionTask_section.md)
  + [`GetParameter`](ssm_example_ssm_GetParameter_section.md)
  + [`GetParameterHistory`](ssm_example_ssm_GetParameterHistory_section.md)
  + [`GetParameters`](ssm_example_ssm_GetParameters_section.md)
  + [`GetPatchBaseline`](ssm_example_ssm_GetPatchBaseline_section.md)
  + [`GetPatchBaselineForPatchGroup`](ssm_example_ssm_GetPatchBaselineForPatchGroup_section.md)
  + [`ListAssociationVersions`](ssm_example_ssm_ListAssociationVersions_section.md)
  + [`ListAssociations`](ssm_example_ssm_ListAssociations_section.md)
  + [`ListCommandInvocations`](ssm_example_ssm_ListCommandInvocations_section.md)
  + [`ListCommands`](ssm_example_ssm_ListCommands_section.md)
  + [`ListComplianceItems`](ssm_example_ssm_ListComplianceItems_section.md)
  + [`ListComplianceSummaries`](ssm_example_ssm_ListComplianceSummaries_section.md)
  + [`ListDocumentVersions`](ssm_example_ssm_ListDocumentVersions_section.md)
  + [`ListDocuments`](ssm_example_ssm_ListDocuments_section.md)
  + [`ListInventoryEntries`](ssm_example_ssm_ListInventoryEntries_section.md)
  + [`ListResourceComplianceSummaries`](ssm_example_ssm_ListResourceComplianceSummaries_section.md)
  + [`ListTagsForResource`](ssm_example_ssm_ListTagsForResource_section.md)
  + [`ModifyDocumentPermission`](ssm_example_ssm_ModifyDocumentPermission_section.md)
  + [`PutComplianceItems`](ssm_example_ssm_PutComplianceItems_section.md)
  + [`PutInventory`](ssm_example_ssm_PutInventory_section.md)
  + [`PutParameter`](ssm_example_ssm_PutParameter_section.md)
  + [`RegisterDefaultPatchBaseline`](ssm_example_ssm_RegisterDefaultPatchBaseline_section.md)
  + [`RegisterPatchBaselineForPatchGroup`](ssm_example_ssm_RegisterPatchBaselineForPatchGroup_section.md)
  + [`RegisterTargetWithMaintenanceWindow`](ssm_example_ssm_RegisterTargetWithMaintenanceWindow_section.md)
  + [`RegisterTaskWithMaintenanceWindow`](ssm_example_ssm_RegisterTaskWithMaintenanceWindow_section.md)
  + [`RemoveTagsFromResource`](ssm_example_ssm_RemoveTagsFromResource_section.md)
  + [`SendCommand`](ssm_example_ssm_SendCommand_section.md)
  + [`StartAutomationExecution`](ssm_example_ssm_StartAutomationExecution_section.md)
  + [`StartSession`](ssm_example_ssm_StartSession_section.md)
  + [`StopAutomationExecution`](ssm_example_ssm_StopAutomationExecution_section.md)
  + [`UpdateAssociation`](ssm_example_ssm_UpdateAssociation_section.md)
  + [`UpdateAssociationStatus`](ssm_example_ssm_UpdateAssociationStatus_section.md)
  + [`UpdateDocument`](ssm_example_ssm_UpdateDocument_section.md)
  + [`UpdateDocumentDefaultVersion`](ssm_example_ssm_UpdateDocumentDefaultVersion_section.md)
  + [`UpdateMaintenanceWindow`](ssm_example_ssm_UpdateMaintenanceWindow_section.md)
  + [`UpdateManagedInstanceRole`](ssm_example_ssm_UpdateManagedInstanceRole_section.md)
  + [`UpdateOpsItem`](ssm_example_ssm_UpdateOpsItem_section.md)
  + [`UpdatePatchBaseline`](ssm_example_ssm_UpdatePatchBaseline_section.md)

# Bonjour Systems Manager
<a name="ssm_example_ssm_Hello_section"></a>

Les exemples de code suivants montrent comment démarrer avec Systems Manager.

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.ssm.SsmClient;
import software.amazon.awssdk.services.ssm.model.DocumentFilter;
import software.amazon.awssdk.services.ssm.model.ListDocumentsRequest;
import software.amazon.awssdk.services.ssm.model.ListDocumentsResponse;

public class HelloSSM {

    public static void main(String[] args) {
        final String usage = """

                Usage:
                    <awsAccount>

                Where:
                    awsAccount - Your AWS Account number.
                """;

        if (args.length != 1) {
            System.out.println(usage);
            System.exit(1);
        }

        String awsAccount = args[0] ;
        Region region = Region.US_EAST_1;
        SsmClient ssmClient = SsmClient.builder()
            .region(region)
            .build();

        listDocuments(ssmClient, awsAccount);
    }

    /*
    This code automatically fetches the next set of results using the `nextToken` and
    stops once the desired maxResults (20 in this case) have been reached.
    */
    public static void listDocuments(SsmClient ssmClient, String awsAccount) {
        String nextToken = null;
        int totalDocumentsReturned = 0;
        int maxResults = 20;
        do {
            ListDocumentsRequest request = ListDocumentsRequest.builder()
                .documentFilterList(
                    DocumentFilter.builder()
                        .key("Owner")
                        .value(awsAccount)
                        .build()
                    )
                .maxResults(maxResults)
                .nextToken(nextToken)
                .build();

            ListDocumentsResponse response = ssmClient.listDocuments(request);
            response.documentIdentifiers().forEach(identifier -> System.out.println("Document Name: " + identifier.name()));
            nextToken = response.nextToken();
            totalDocumentsReturned += response.documentIdentifiers().size();
        } while (nextToken != null && totalDocumentsReturned < maxResults);
    }
}
```
+  Pour plus de détails sur l'API, voir [ListDocuments](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/ListDocuments)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { paginateListDocuments, SSMClient } from "@aws-sdk/client-ssm";

// Call ListDocuments and display the result.
export const main = async () => {
  const client = new SSMClient();
  const listDocumentsPaginated = [];
  console.log(
    "Hello, AWS Systems Manager! Let's list some of your documents:\n",
  );
  try {
    // The paginate function is a wrapper around the base command.
    const paginator = paginateListDocuments({ client }, { MaxResults: 5 });
    for await (const page of paginator) {
      listDocumentsPaginated.push(...page.DocumentIdentifiers);
    }
  } catch (caught) {
    console.error(`There was a problem saying hello: ${caught.message}`);
    throw caught;
  }

  for (const { Name, DocumentFormat, CreatedDate } of listDocumentsPaginated) {
    console.log(`${Name} - ${DocumentFormat} - ${CreatedDate}`);
  }
};

// Call function if run directly.
import { fileURLToPath } from "node:url";
if (process.argv[1] === fileURLToPath(import.meta.url)) {
  main();
}
```
+  Pour plus de détails sur l'API, voir [ListDocuments](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/ListDocumentsCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
import boto3
from botocore.exceptions import ClientError


def hello_systems_manager(ssm_client):
    """
    Use the AWS SDK for Python (Boto3) to create an AWS Systems Manager
    client and list the first 5 documents in your account.
    This example uses the default settings specified in your shared credentials
    and config files.

    :param ssm_client: A Boto3 AWS Systems Manager Client object. This object wraps
                             the low-level AWS Systems Manager service API.
    """
    print("Hello, AWS Systems Manager! Let's list some of your documents:\n")

    paginator = ssm_client.get_paginator("list_documents")
    page_iterator = paginator.paginate(PaginationConfig={"MaxItems": 5})
    for page in page_iterator:
        for document in page["DocumentIdentifiers"]:
            print(f"  {document['Name']}")


if __name__ == "__main__":
    try:
        hello_systems_manager(boto3.client("ssm"))
    except ClientError as err:
        print("Hello systems manager had an error.")
        print(err.response["Error"]["Code"])
        print(err.response["Error"]["Message"])
```
+  Pour plus de détails sur l'API, consultez [ListDocuments](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/ListDocuments)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------

# Découvrez les bases de Systems Manager avec un AWS SDK
<a name="ssm_example_ssm_Scenario_section"></a>

Les exemples de code suivants montrent comment :
+ créer une fenêtre de maintenance ;
+ modifier le calendrier de la fenêtre de maintenance ;
+ créer un document ;
+ envoyer une commande à une instance EC2 spécifiée ;
+ Créez un OpsItem.
+ Mettez à jour et corrigez le OpsItem.
+ Supprimez la fenêtre de maintenance OpsItem et le document.

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
import software.amazon.awssdk.services.ssm.model.DocumentAlreadyExistsException;
import software.amazon.awssdk.services.ssm.model.SsmException;

import java.util.Map;
import java.util.Scanner;
public class SSMScenario {
    public static final String DASHES = new String(new char[80]).replace("\0", "-");
    private static final String ROLES_STACK = "SsmStack3`1";

    public static void main(String[] args) {
        String usage = """
            Usage:
              <title> <source> <category> <severity>
      
            Where:
                title - The title of the parameter (default is Disk Space Alert).
                source - The source of the parameter (default is EC2).
                category - The category of the parameter. Valid values are 'Availability', 'Cost', 'Performance', 'Recovery', 'Security' (default is Performance).
                severity - The severity of the parameter. Severity should be a number from 1 to 4 (default is 2).
        """;

        Scanner scanner = new Scanner(System.in);
        SSMActions actions = new SSMActions();
        String documentName;
        String windowName;

        System.out.println("Use AWS CloudFormation to create the EC2 instance that is required for this scenario.");
        CloudFormationHelper.deployCloudFormationStack(ROLES_STACK);
        Map<String, String> stackOutputs = CloudFormationHelper.getStackOutputsAsync(ROLES_STACK).join();
        String instanceId = stackOutputs.get("InstanceId");
        System.out.println("The Instance ID: " + instanceId +" was created.");
        String title = "Disk Space Alert" ;
        String source = "EC2" ;
        String category = "Availability" ;
        String severity = "2" ;

        System.out.println(DASHES);
        System.out.println("""
                Welcome to the AWS Systems Manager SDK Basics scenario.
                This Java program demonstrates how to interact with AWS Systems Manager using the AWS SDK for Java (v2).
                AWS Systems Manager is the operations hub for your AWS applications and resources and a secure end-to-end management solution.
                The program's primary functionalities include creating a maintenance window, creating a document, sending a command to a document,
                listing documents, listing commands, creating an OpsItem, modifying an OpsItem, and deleting AWS SSM resources.
                Upon completion of the program, all AWS resources are cleaned up.
                Let's get started...
            
                """);
        waitForInputToContinue(scanner);
        System.out.println(DASHES);

        System.out.println("1. Create an SSM maintenance window.");
        System.out.println("Please enter the maintenance window name (default is ssm-maintenance-window):");
        String win = scanner.nextLine();
        windowName = win.isEmpty() ? "ssm-maintenance-window" : win;
        String winId = null;
        try {
            winId = actions.createMaintenanceWindow(windowName);
            waitForInputToContinue(scanner);
            System.out.println("The maintenance window ID is: " + winId);
        } catch (DocumentAlreadyExistsException e) {
            System.err.println("The SSM maintenance window already exists. Retrieving existing window ID...");
            String existingWinId = actions.createMaintenanceWindow(windowName);
            System.out.println("Existing window ID: " + existingWinId);
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
            return;
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
            return;
        }
        waitForInputToContinue(scanner);
        System.out.println(DASHES);

        System.out.println("2. Modify the maintenance window by changing the schedule");
        waitForInputToContinue(scanner);
        try {
            actions.updateSSMMaintenanceWindow(winId, windowName);
            waitForInputToContinue(scanner);
            System.out.println("The SSM maintenance window was successfully updated");
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
            return;
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
            return;
        }
        waitForInputToContinue(scanner);
        System.out.println(DASHES);

        System.out.println("3. Create an SSM document that defines the actions that Systems Manager performs on your managed nodes.");
        System.out.println("Please enter the document name (default is ssmdocument):");
        String doc = scanner.nextLine();
        documentName = doc.isEmpty() ? "ssmdocument" : doc;
        try {
            actions.createSSMDoc(documentName);
            waitForInputToContinue(scanner);
            System.out.println("The SSM document was successfully created");
        } catch (DocumentAlreadyExistsException e) {
            System.err.println("The SSM document already exists. Moving on");
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
            return;
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
        }
        waitForInputToContinue(scanner);
        System.out.println(DASHES);

        System.out.println("4. Now we are going to run a command on an EC2 instance");
        waitForInputToContinue(scanner);
        String commandId="";
        try {
            commandId = actions.sendSSMCommand(documentName, instanceId);
            waitForInputToContinue(scanner);
            System.out.println("The command was successfully sent. Command ID: " + commandId);
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
        } catch (InterruptedException e) {
            System.err.println("Thread was interrupted: " + e.getMessage());
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
        }
        waitForInputToContinue(scanner);
        System.out.println(DASHES);

        System.out.println("5. Lets get the time when the specific command was sent to the specific managed node");
        waitForInputToContinue(scanner);
        try {
            actions.displayCommands(commandId);
            System.out.println("The command invocations were successfully displayed.");
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
            return;
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
            return;
        }
        waitForInputToContinue(scanner);
        System.out.println(DASHES);

        System.out.println(DASHES);
        System.out.println("""
             6. Now we will create an SSM OpsItem. 
             A SSM OpsItem is a feature provided by Amazon's Systems Manager (SSM) service. 
             It is a type of operational data item that allows you to manage and track various operational issues, 
             events, or tasks within your AWS environment.
             
             You can create OpsItems to track and manage operational issues as they arise. 
             For example, you could create an OpsItem whenever your application detects a critical error 
             or an anomaly in your infrastructure.
            """);

        waitForInputToContinue(scanner);
        String opsItemId;
        try {
            opsItemId = actions.createSSMOpsItem(title, source, category, severity);
            System.out.println(opsItemId + " was created");
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
            return;
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
            return;
        }
        waitForInputToContinue(scanner);
        System.out.println(DASHES);

        System.out.println(DASHES);
        System.out.println("7. Now we will update the SSM OpsItem "+opsItemId);
        waitForInputToContinue(scanner);
        String description = "An update to "+opsItemId ;
        try {
            actions.updateOpsItem(opsItemId, title, description);
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
            return;
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
            return;
        }

        System.out.println(DASHES);
        System.out.println("8. Now we will get the status of the SSM OpsItem "+opsItemId);
        waitForInputToContinue(scanner);
        try {
            actions.describeOpsItems(opsItemId);
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
            return;
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
            return;
        }

        System.out.println(DASHES);
        System.out.println("9. Now we will resolve the SSM OpsItem "+opsItemId);
        waitForInputToContinue(scanner);
        try {
            actions.resolveOpsItem(opsItemId);
        } catch (SsmException e) {
            System.err.println("SSM error: " + e.getMessage());
            return;
        } catch (RuntimeException e) {
            System.err.println("Unexpected error: " + e.getMessage());
            return;
        }

        System.out.println(DASHES);
        System.out.println("10. Would you like to delete the AWS Systems Manager resources? (y/n)");
        String delAns = scanner.nextLine().trim();
        if (delAns.equalsIgnoreCase("y")) {
            System.out.println("You selected to delete the resources.");
            waitForInputToContinue(scanner);
            try {
                actions.deleteMaintenanceWindow(winId);
                actions.deleteDoc(documentName);
            } catch (SsmException e) {
                System.err.println("SSM error: " + e.getMessage());
                return;
            } catch (RuntimeException e) {
                System.err.println("Unexpected error: " + e.getMessage());
                return;
            }
        } else {
            System.out.println("The AWS Systems Manager resources will not be deleted");
        }
        System.out.println(DASHES);
        CloudFormationHelper.destroyCloudFormationStack(ROLES_STACK);
        System.out.println("This concludes the AWS Systems Manager SDK Basics scenario.");
        System.out.println(DASHES);
    }

    private static void waitForInputToContinue(Scanner scanner) {
        while (true) {
            System.out.println("");
            System.out.println("Enter 'c' followed by <ENTER> to continue:");
            String input = scanner.nextLine();

            if (input.trim().equalsIgnoreCase("c")) {
                System.out.println("Continuing with the program...");
                System.out.println("");
                break;
            } else {
                // Handle invalid input.
                System.out.println("Invalid input. Please try again.");
            }
        }
    }
}
```
Une classe encapsuleur pour les méthodes du kit SDK Systems Manager.  

```
public class SSMActions {

    private static SsmAsyncClient ssmAsyncClient;

    private static SsmAsyncClient getAsyncClient() {
        if (ssmAsyncClient == null) {
            SdkAsyncHttpClient httpClient = NettyNioAsyncHttpClient.builder()
                    .maxConcurrency(100)
                    .connectionTimeout(Duration.ofSeconds(60))
                    .readTimeout(Duration.ofSeconds(60))
                    .writeTimeout(Duration.ofSeconds(60))
                    .build();

            ClientOverrideConfiguration overrideConfig = ClientOverrideConfiguration.builder()
                    .apiCallTimeout(Duration.ofMinutes(2))
                    .apiCallAttemptTimeout(Duration.ofSeconds(90))
                    .retryPolicy(RetryPolicy.builder()
                            .numRetries(3)
                            .build())
                    .build();

            ssmAsyncClient = SsmAsyncClient.builder()
                    .region(Region.US_WEST_2)
                    .httpClient(httpClient)
                    .overrideConfiguration(overrideConfig)
                    .build();
        }
        return ssmAsyncClient;
    }

    /**
     * Deletes an AWS SSM document asynchronously.
     *
     * @param documentName The name of the document to delete.
     * <p>
     * This method initiates an asynchronous request to delete an SSM document.
     * If an exception occurs, it handles the error appropriately.
     */
    public void deleteDoc(String documentName) {
        DeleteDocumentRequest documentRequest = DeleteDocumentRequest.builder()
                .name(documentName)
                .build();

        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            getAsyncClient().deleteDocument(documentRequest)
                    .thenAccept(response -> {
                        System.out.println("The SSM document was successfully deleted.");
                    })
                    .exceptionally(ex -> {
                        throw new CompletionException(ex);
                    }).join();
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }

    /**
     * Deletes an AWS SSM Maintenance Window asynchronously.
     *
     * @param winId The ID of the Maintenance Window to delete.
     * <p>
     * This method initiates an asynchronous request to delete an SSM Maintenance Window.
     * If an exception occurs, it handles the error appropriately.
     */
    public void deleteMaintenanceWindow(String winId) {
        DeleteMaintenanceWindowRequest windowRequest = DeleteMaintenanceWindowRequest.builder()
                .windowId(winId)
                .build();

        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            getAsyncClient().deleteMaintenanceWindow(windowRequest)
                    .thenAccept(response -> {
                        System.out.println("The maintenance window was successfully deleted.");
                    })
                    .exceptionally(ex -> {
                        throw new CompletionException(ex);
                    }).join();
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }

    /**
     * Resolves an AWS SSM OpsItem asynchronously.
     *
     * @param opsID The ID of the OpsItem to resolve.
     * <p>
     * This method initiates an asynchronous request to resolve an SSM OpsItem.
     * If an exception occurs, it handles the error appropriately.
     */
    public void resolveOpsItem(String opsID) {
        UpdateOpsItemRequest opsItemRequest = UpdateOpsItemRequest.builder()
                .opsItemId(opsID)
                .status(OpsItemStatus.RESOLVED)
                .build();

        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            getAsyncClient().updateOpsItem(opsItemRequest)
                    .thenAccept(response -> {
                        System.out.println("OpsItem resolved successfully.");
                    })
                    .exceptionally(ex -> {
                        throw new CompletionException(ex);
                    }).join();
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }

    /**
     * Describes AWS SSM OpsItems asynchronously.
     *
     * @param key The key to filter OpsItems by (e.g., OPS_ITEM_ID).
     *
     * This method initiates an asynchronous request to describe SSM OpsItems.
     * If the request is successful, it prints the title and status of each OpsItem.
     * If an exception occurs, it handles the error appropriately.
     */
    public void describeOpsItems(String key) {
        OpsItemFilter filter = OpsItemFilter.builder()
                .key(OpsItemFilterKey.OPS_ITEM_ID)
                .values(key)
                .operator(OpsItemFilterOperator.EQUAL)
                .build();

        DescribeOpsItemsRequest itemsRequest = DescribeOpsItemsRequest.builder()
                .maxResults(10)
                .opsItemFilters(filter)
                .build();

        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            getAsyncClient().describeOpsItems(itemsRequest)
                    .thenAccept(itemsResponse -> {
                        List<OpsItemSummary> items = itemsResponse.opsItemSummaries();
                        for (OpsItemSummary item : items) {
                            System.out.println("The item title is " + item.title() + " and the status is " + item.status().toString());
                        }
                    })
                    .exceptionally(ex -> {
                        throw new CompletionException(ex);
                    }).join();
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }

    /**
     * Updates the AWS SSM OpsItem asynchronously.
     *
     * @param opsItemId The ID of the OpsItem to update.
     * @param title The new title of the OpsItem.
     * @param description The new description of the OpsItem.
     * <p>
     * This method initiates an asynchronous request to update an SSM OpsItem.
     * If the request is successful, it completes without returning a value.
     * If an exception occurs, it handles the error appropriately.
     */
    public void updateOpsItem(String opsItemId, String title, String description) {
        Map<String, OpsItemDataValue> operationalData = new HashMap<>();
        operationalData.put("key1", OpsItemDataValue.builder().value("value1").build());
        operationalData.put("key2", OpsItemDataValue.builder().value("value2").build());

        CompletableFuture<Void> future = getOpsItem(opsItemId).thenCompose(opsItem -> {
            UpdateOpsItemRequest request = UpdateOpsItemRequest.builder()
                    .opsItemId(opsItemId)
                    .title(title)
                    .operationalData(operationalData)
                    .status(opsItem.statusAsString())
                    .description(description)
                    .build();

            return getAsyncClient().updateOpsItem(request).thenAccept(response -> {
                System.out.println(opsItemId + " updated successfully.");
            }).exceptionally(ex -> {
                throw new CompletionException(ex);
            });
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }


    private static CompletableFuture<OpsItem> getOpsItem(String opsItemId) {
        GetOpsItemRequest request = GetOpsItemRequest.builder().opsItemId(opsItemId).build();
        return getAsyncClient().getOpsItem(request).thenApply(GetOpsItemResponse::opsItem);
    }

    /**
     * Creates an SSM OpsItem asynchronously.
     *
     * @param title The title of the OpsItem.
     * @param source The source of the OpsItem.
     * @param category The category of the OpsItem.
     * @param severity The severity of the OpsItem.
     * @return The ID of the created OpsItem.
     * <p>
     * This method initiates an asynchronous request to create an SSM OpsItem.
     * If the request is successful, it returns the OpsItem ID.
     * If an exception occurs, it handles the error appropriately.
     */
    public String createSSMOpsItem(String title, String source, String category, String severity) {
        CreateOpsItemRequest opsItemRequest = CreateOpsItemRequest.builder()
                .description("Created by the SSM Java API")
                .title(title)
                .source(source)
                .category(category)
                .severity(severity)
                .build();

        CompletableFuture<CreateOpsItemResponse> future = getAsyncClient().createOpsItem(opsItemRequest);

        try {
            CreateOpsItemResponse response = future.join();
            return response.opsItemId();
        } catch (CompletionException e) {
            Throwable cause = e.getCause();
            if (cause instanceof SsmException) {
                throw (SsmException) cause;
            } else {
                throw new RuntimeException(cause);
            }
        }
    }

    /**
     * Displays the date and time when the specific command was invoked.
     *
     * @param commandId The ID of the command to describe.
     * <p>
     * This method initiates an asynchronous request to list command invocations and prints the date and time of each command invocation.
     * If an exception occurs, it handles the error appropriately.
     */
    public void displayCommands(String commandId) {
        ListCommandInvocationsRequest commandInvocationsRequest = ListCommandInvocationsRequest.builder()
                .commandId(commandId)
                .build();

        CompletableFuture<ListCommandInvocationsResponse> future = getAsyncClient().listCommandInvocations(commandInvocationsRequest);
        future.thenAccept(response -> {
            List<CommandInvocation> commandList = response.commandInvocations();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
            for (CommandInvocation invocation : commandList) {
                System.out.println("The time of the command invocation is " + formatter.format(invocation.requestedDateTime()));
            }
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw (SsmException) cause;
            } else {
                throw new RuntimeException(cause);
            }
        }).join();
    }

    /**
     * Sends a SSM command to a managed node asynchronously.
     *
     * @param documentName The name of the document to use.
     * @param instanceId The ID of the instance to send the command to.
     * @return The command ID.
     * <p>
     * This method initiates asynchronous requests to send a SSM command to a managed node.
     * It waits until the document is active, sends the command, and checks the command execution status.
     */
    public String sendSSMCommand(String documentName, String instanceId) throws InterruptedException, SsmException {
        // Before we use Document to send a command - make sure it is active.
        CompletableFuture<Void> documentActiveFuture = CompletableFuture.runAsync(() -> {
            boolean isDocumentActive = false;
            DescribeDocumentRequest request = DescribeDocumentRequest.builder()
                    .name(documentName)
                    .build();

            while (!isDocumentActive) {
                CompletableFuture<DescribeDocumentResponse> response = getAsyncClient().describeDocument(request);
                String documentStatus = response.join().document().statusAsString();
                if (documentStatus.equals("Active")) {
                    System.out.println("The SSM document is active and ready to use.");
                    isDocumentActive = true;
                } else {
                    System.out.println("The SSM document is not active. Status: " + documentStatus);
                    try {
                        Thread.sleep(5000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }
        });

        documentActiveFuture.join();

        // Create the SendCommandRequest.
        SendCommandRequest commandRequest = SendCommandRequest.builder()
                .documentName(documentName)
                .instanceIds(instanceId)
                .build();

        // Send the command.
        CompletableFuture<SendCommandResponse> commandFuture = getAsyncClient().sendCommand(commandRequest);
        final String[] commandId = {null};

        commandFuture.whenComplete((commandResponse, ex) -> {
            if (commandResponse != null) {
                commandId[0] = commandResponse.command().commandId();
                System.out.println("Command ID: " + commandId[0]);

                // Wait for the command execution to complete.
                GetCommandInvocationRequest invocationRequest = GetCommandInvocationRequest.builder()
                        .commandId(commandId[0])
                        .instanceId(instanceId)
                        .build();

                try {
                    System.out.println("Wait 5 secs");
                    TimeUnit.SECONDS.sleep(5);

                    // Retrieve the command execution details.
                    CompletableFuture<GetCommandInvocationResponse> invocationFuture = getAsyncClient().getCommandInvocation(invocationRequest);
                    invocationFuture.whenComplete((commandInvocationResponse, invocationEx) -> {
                        if (commandInvocationResponse != null) {
                            // Check the status of the command execution.
                            CommandInvocationStatus status = commandInvocationResponse.status();
                            if (status == CommandInvocationStatus.SUCCESS) {
                                System.out.println("Command execution successful");
                            } else {
                                System.out.println("Command execution failed. Status: " + status);
                            }
                        } else {
                            Throwable invocationCause = (invocationEx instanceof CompletionException) ? invocationEx.getCause() : invocationEx;
                            throw new CompletionException(invocationCause);
                        }
                    }).join();
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            } else {
                Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
                if (cause instanceof SsmException) {
                    throw (SsmException) cause;
                } else {
                    throw new RuntimeException(cause);
                }
            }
        }).join();

        return commandId[0];
    }

    /**
     * Creates an AWS SSM document asynchronously.
     *
     * @param docName The name of the document to create.
     * <p>
     * This method initiates an asynchronous request to create an SSM document.
     * If the request is successful, it prints the document status.
     * If an exception occurs, it handles the error appropriately.
     */
    public void createSSMDoc(String docName) throws SsmException {
        String jsonData = """
        {
        "schemaVersion": "2.2",
        "description": "Run a simple shell command",
        "mainSteps": [
            {
                "action": "aws:runShellScript",
                "name": "runEchoCommand",
                "inputs": {
                  "runCommand": [
                    "echo 'Hello, world!'"
                  ]
                }
              }
            ]
        }
        """;

        CreateDocumentRequest request = CreateDocumentRequest.builder()
                .content(jsonData)
                .name(docName)
                .documentType(DocumentType.COMMAND)
                .build();

        CompletableFuture<CreateDocumentResponse> future = getAsyncClient().createDocument(request);
        future.thenAccept(response -> {
            System.out.println("The status of the SSM document is " + response.documentDescription().status());
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof DocumentAlreadyExistsException) {
                throw new CompletionException(cause);
            } else if (cause instanceof SsmException) {
                throw new CompletionException(cause);
            } else {
                throw new RuntimeException(cause);
            }
        }).join();
    }

    /**
     * Updates an SSM maintenance window asynchronously.
     *
     * @param id The ID of the maintenance window to update.
     * @param name The new name for the maintenance window.
     * <p>
     * This method initiates an asynchronous request to update an SSM maintenance window.
     * If the request is successful, it prints a success message.
     * If an exception occurs, it handles the error appropriately.
     */
    public void updateSSMMaintenanceWindow(String id, String name) throws SsmException {
        UpdateMaintenanceWindowRequest updateRequest = UpdateMaintenanceWindowRequest.builder()
                .windowId(id)
                .allowUnassociatedTargets(true)
                .duration(24)
                .enabled(true)
                .name(name)
                .schedule("cron(0 0 ? * MON *)")
                .build();

        CompletableFuture<UpdateMaintenanceWindowResponse> future = getAsyncClient().updateMaintenanceWindow(updateRequest);
        future.whenComplete((response, ex) -> {
            if (response != null) {
                System.out.println("The SSM maintenance window was successfully updated");
            } else {
                Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
                if (cause instanceof SsmException) {
                    throw new CompletionException(cause);
                } else {
                    throw new RuntimeException(cause);
                }
            }
        }).join();
    }

    /**
     * Creates an SSM maintenance window asynchronously.
     *
     * @param winName The name of the maintenance window.
     * @return The ID of the created or existing maintenance window.
     * <p>
     * This method initiates an asynchronous request to create an SSM maintenance window.
     * If the request is successful, it prints the maintenance window ID.
     * If an exception occurs, it handles the error appropriately.
     */
    public String createMaintenanceWindow(String winName) throws SsmException, DocumentAlreadyExistsException {
        CreateMaintenanceWindowRequest request = CreateMaintenanceWindowRequest.builder()
                .name(winName)
                .description("This is my maintenance window")
                .allowUnassociatedTargets(true)
                .duration(2)
                .cutoff(1)
                .schedule("cron(0 10 ? * MON-FRI *)")
                .build();

        CompletableFuture<CreateMaintenanceWindowResponse> future = getAsyncClient().createMaintenanceWindow(request);
        final String[] windowId = {null};
        future.whenComplete((response, ex) -> {
            if (response != null) {
                String maintenanceWindowId = response.windowId();
                System.out.println("The maintenance window id is " + maintenanceWindowId);
                windowId[0] = maintenanceWindowId;
            } else {
                Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
                if (cause instanceof DocumentAlreadyExistsException) {
                    throw new CompletionException(cause);
                } else if (cause instanceof SsmException) {
                    throw new CompletionException(cause);
                } else {
                    throw new RuntimeException(cause);
                }
            }
        }).join();

        if (windowId[0] == null) {
            MaintenanceWindowFilter filter = MaintenanceWindowFilter.builder()
                    .key("name")
                    .values(winName)
                    .build();

            DescribeMaintenanceWindowsRequest winRequest = DescribeMaintenanceWindowsRequest.builder()
                    .filters(filter)
                    .build();

            CompletableFuture<DescribeMaintenanceWindowsResponse> describeFuture = getAsyncClient().describeMaintenanceWindows(winRequest);
            describeFuture.whenComplete((describeResponse, describeEx) -> {
                if (describeResponse != null) {
                    List<MaintenanceWindowIdentity> windows = describeResponse.windowIdentities();
                    if (!windows.isEmpty()) {
                        windowId[0] = windows.get(0).windowId();
                        System.out.println("Window ID: " + windowId[0]);
                    } else {
                        System.out.println("Window not found.");
                        windowId[0] = "";
                    }
                } else {
                    Throwable describeCause = (describeEx instanceof CompletionException) ? describeEx.getCause() : describeEx;
                    throw new RuntimeException("Error describing maintenance windows: " + describeCause.getMessage(), describeCause);
                }
            }).join();
        }

        return windowId[0];
    }
}
```
+ Pour plus de détails sur l’API, consultez les rubriques suivantes dans la *Référence des API du kit AWS SDK for Java 2.x *.
  + [CreateDocument](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/CreateDocument)
  + [CreateMaintenanceWindow](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/CreateMaintenanceWindow)
  + [CreateOpsItem](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/CreateOpsItem)
  + [DeleteMaintenanceWindow](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/DeleteMaintenanceWindow)
  + [ListCommandInvocations](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/ListCommandInvocations)
  + [SendCommand](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/SendCommand)
  + [UpdateOpsItem](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/UpdateOpsItem)

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import {
  Scenario,
  ScenarioAction,
  ScenarioInput,
  ScenarioOutput,
} from "@aws-doc-sdk-examples/lib/scenario/index.js";
import { fileURLToPath } from "node:url";
import {
  CreateDocumentCommand,
  CreateMaintenanceWindowCommand,
  CreateOpsItemCommand,
  DeleteDocumentCommand,
  DeleteMaintenanceWindowCommand,
  DeleteOpsItemCommand,
  DescribeOpsItemsCommand,
  DocumentAlreadyExists,
  OpsItemStatus,
  waitUntilCommandExecuted,
  CancelCommandCommand,
  paginateListCommandInvocations,
  SendCommandCommand,
  UpdateMaintenanceWindowCommand,
  UpdateOpsItemCommand,
  SSMClient,
} from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * @typedef {{
 *   ssmClient: import('@aws-sdk/client-ssm').SSMClient,
 *   documentName?: string
 *   maintenanceWindow?: string
 *   winId?: int
 *   ec2InstanceId?: string
 *   requestedDateTime?: Date
 *   opsItemId?: string
 *   askToDeleteResources?: boolean
 * }} State
 */

const defaultMaintenanceWindow = "ssm-maintenance-window";
const defaultDocumentName = "ssmdocument";
// The timeout duration is highly dependent on the specific setup and environment necessary. This example handles only the most common error cases, and uses a much shorter duration than most productions systems would use.
const COMMAND_TIMEOUT_DURATION_SECONDS = 30; // 30 seconds

const pressEnter = new ScenarioInput("continue", "Press Enter to continue", {
  type: "confirm",
});

const greet = new ScenarioOutput(
  "greet",
  `Welcome to the AWS Systems Manager SDK Getting Started scenario.
    This program demonstrates how to interact with Systems Manager using the AWS SDK for JavaScript V3.
    Systems Manager is the operations hub for your AWS applications and resources and a secure end-to-end management solution.
    The program's primary functions include creating a maintenance window, creating a document, sending a command to a document,
    listing documents, listing commands, creating an OpsItem, modifying an OpsItem, and deleting Systems Manager resources.
    Upon completion of the program, all AWS resources are cleaned up.
    Let's get started...`,
  { header: true },
);

const createMaintenanceWindow = new ScenarioOutput(
  "createMaintenanceWindow",
  "Step 1: Create a Systems Manager maintenance window.",
);

const getMaintenanceWindow = new ScenarioInput(
  "maintenanceWindow",
  "Please enter the maintenance window name:",
  { type: "input", default: defaultMaintenanceWindow },
);

export const sdkCreateMaintenanceWindow = new ScenarioAction(
  "sdkCreateMaintenanceWindow",
  async (/** @type {State} */ state) => {
    try {
      const response = await state.ssmClient.send(
        new CreateMaintenanceWindowCommand({
          Name: state.maintenanceWindow,
          Schedule: "cron(0 10 ? * MON-FRI *)", //The schedule of the maintenance window in the form of a cron or rate expression.
          Duration: 2, //The duration of the maintenance window in hours.
          Cutoff: 1, //The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.
          AllowUnassociatedTargets: true, //Allow the maintenance window to run on managed nodes, even if you haven't registered those nodes as targets.
        }),
      );
      state.winId = response.WindowId;
    } catch (caught) {
      console.error(caught.message);
      console.log(
        `An error occurred while creating the maintenance window. Please fix the error and try again. Error message: ${caught.message}`,
      );
      throw caught;
    }
  },
);

const modifyMaintenanceWindow = new ScenarioOutput(
  "modifyMaintenanceWindow",
  "Modify the maintenance window by changing the schedule.",
);

const sdkModifyMaintenanceWindow = new ScenarioAction(
  "sdkModifyMaintenanceWindow",
  async (/** @type {State} */ state) => {
    try {
      await state.ssmClient.send(
        new UpdateMaintenanceWindowCommand({
          WindowId: state.winId,
          Schedule: "cron(0 0 ? * MON *)",
        }),
      );
    } catch (caught) {
      console.error(caught.message);
      console.log(
        `An error occurred while modifying the maintenance window. Please fix the error and try again. Error message: ${caught.message}`,
      );
      throw caught;
    }
  },
);

const createSystemsManagerActions = new ScenarioOutput(
  "createSystemsManagerActions",
  "Create a document that defines the actions that Systems Manager performs on your EC2 instance.",
);

const getDocumentName = new ScenarioInput(
  "documentName",
  "Please enter the document: ",
  { type: "input", default: defaultDocumentName },
);

const sdkCreateSSMDoc = new ScenarioAction(
  "sdkCreateSSMDoc",
  async (/** @type {State} */ state) => {
    const contentData = `{
                "schemaVersion": "2.2",
                "description": "Run a simple shell command",
                "mainSteps": [
                    {
                        "action": "aws:runShellScript",
                        "name": "runEchoCommand",
                        "inputs": {
                          "runCommand": [
                            "echo 'Hello, world!'"
                          ]
                        }
                    }
                ]
            }`;
    try {
      await state.ssmClient.send(
        new CreateDocumentCommand({
          Content: contentData,
          Name: state.documentName,
          DocumentType: "Command",
        }),
      );
    } catch (caught) {
      console.log(`Exception type: (${typeof caught})`);
      if (caught instanceof DocumentAlreadyExists) {
        console.log("Document already exists. Continuing...\n");
      } else {
        console.error(caught.message);
        console.log(
          `An error occurred while creating the document. Please fix the error and try again. Error message: ${caught.message}`,
        );
        throw caught;
      }
    }
  },
);

const ec2HelloWorld = new ScenarioOutput(
  "ec2HelloWorld",
  `Now you have the option of running a command on an EC2 instance that echoes 'Hello, world!'. In order to run this command, you must provide the instance ID of a Linux EC2 instance. If you do not already have a running Linux EC2 instance in your account, you can create one using the AWS console. For information about creating an EC2 instance, see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html.`,
);

const enterIdOrSkipEC2HelloWorld = new ScenarioInput(
  "enterIdOrSkipEC2HelloWorld",
  "Enter your EC2 InstanceId or press enter to skip this step: ",
  { type: "input", default: "" },
);

const sdkEC2HelloWorld = new ScenarioAction(
  "sdkEC2HelloWorld",
  async (/** @type {State} */ state) => {
    try {
      const response = await state.ssmClient.send(
        new SendCommandCommand({
          DocumentName: state.documentName,
          InstanceIds: [state.ec2InstanceId],
          TimeoutSeconds: COMMAND_TIMEOUT_DURATION_SECONDS,
        }),
      );
      state.CommandId = response.Command.CommandId;
    } catch (caught) {
      console.error(caught.message);
      console.log(
        `An error occurred while sending the command. Please fix the error and try again. Error message: ${caught.message}`,
      );
      throw caught;
    }
  },
  {
    skipWhen: (/** @type {State} */ state) =>
      state.enterIdOrSkipEC2HelloWorld === "",
  },
);

const sdkGetCommandTime = new ScenarioAction(
  "sdkGetCommandTime",
  async (/** @type {State} */ state) => {
    const listInvocationsPaginated = [];
    console.log(
      "Let's get the time when the specific command was sent to the specific managed node.",
    );

    console.log(
      `First, we'll wait for the command to finish executing. This may take up to ${COMMAND_TIMEOUT_DURATION_SECONDS} seconds.`,
    );
    const commandExecutedResult = waitUntilCommandExecuted(
      { client: state.ssmClient },
      {
        CommandId: state.CommandId,
        InstanceId: state.ec2InstanceId,
      },
    );
    // This is necessary because the TimeoutSeconds of SendCommandCommand is only for the delivery, not execution.
    try {
      await new Promise((_, reject) =>
        setTimeout(
          reject,
          COMMAND_TIMEOUT_DURATION_SECONDS * 1000,
          new Error("Command Timed Out"),
        ),
      );
    } catch (caught) {
      if (caught.message === "Command Timed Out") {
        commandExecutedResult.state = "TIMED_OUT";
      } else {
        throw caught;
      }
    }

    if (commandExecutedResult.state !== "SUCCESS") {
      console.log(
        `The command with id: ${state.CommandId} did not execute in the allotted time. Canceling command.`,
      );
      state.ssmClient.send(
        new CancelCommandCommand({
          CommandId: state.CommandId,
        }),
      );
      state.enterIdOrSkipEC2HelloWorld === "";
      return;
    }

    for await (const page of paginateListCommandInvocations(
      { client: state.ssmClient },
      { CommandId: state.CommandId },
    )) {
      listInvocationsPaginated.push(...page.CommandInvocations);
    }
    /**
     * @type {import('@aws-sdk/client-ssm').CommandInvocation}
     */
    const commandInvocation = listInvocationsPaginated.shift(); // Because the call was made with CommandId, there's only one result, so shift it off.
    state.requestedDateTime = commandInvocation.RequestedDateTime;

    console.log(
      `The command invocation happened at: ${state.requestedDateTime}.`,
    );
  },
  {
    skipWhen: (/** @type {State} */ state) =>
      state.enterIdOrSkipEC2HelloWorld === "",
  },
);

const createSSMOpsItem = new ScenarioOutput(
  "createSSMOpsItem",
  `Now we will create a Systems Manager OpsItem. An OpsItem is a feature provided by the Systems Manager service. It is a type of operational data item that allows you to manage and track various operational issues, events, or tasks within your AWS environment.
You can create OpsItems to track and manage operational issues as they arise. For example, you could create an OpsItem whenever your application detects a critical error or an anomaly in your infrastructure.`,
);

const sdkCreateSSMOpsItem = new ScenarioAction(
  "sdkCreateSSMOpsItem",
  async (/** @type {State} */ state) => {
    try {
      const response = await state.ssmClient.send(
        new CreateOpsItemCommand({
          Description: "Created by the System Manager Javascript API",
          Title: "Disk Space Alert",
          Source: "EC2",
          Category: "Performance",
          Severity: "2",
        }),
      );
      state.opsItemId = response.OpsItemId;
    } catch (caught) {
      console.error(caught.message);
      console.log(
        `An error occurred while creating the ops item. Please fix the error and try again. Error message: ${caught.message}`,
      );
      throw caught;
    }
  },
);

const updateOpsItem = new ScenarioOutput(
  "updateOpsItem",
  (/** @type {State} */ state) =>
    `Now we will update the OpsItem: ${state.opsItemId}`,
);

const sdkUpdateOpsItem = new ScenarioAction(
  "sdkUpdateOpsItem",
  async (/** @type {State} */ state) => {
    try {
      const _response = await state.ssmClient.send(
        new UpdateOpsItemCommand({
          OpsItemId: state.opsItemId,
          Description: `An update to ${state.opsItemId}`,
        }),
      );
    } catch (caught) {
      console.error(caught.message);
      console.log(
        `An error occurred while updating the ops item. Please fix the error and try again. Error message: ${caught.message}`,
      );
      throw caught;
    }
  },
);

const getOpsItemStatus = new ScenarioOutput(
  "getOpsItemStatus",
  (/** @type {State} */ state) =>
    `Now we will get the status of the OpsItem: ${state.opsItemId}`,
);

const sdkOpsItemStatus = new ScenarioAction(
  "sdkGetOpsItemStatus",
  async (/** @type {State} */ state) => {
    try {
      const response = await state.ssmClient.send(
        new DescribeOpsItemsCommand({
          OpsItemId: state.opsItemId,
        }),
      );
      state.opsItemStatus = response.OpsItemStatus;
    } catch (caught) {
      console.error(caught.message);
      console.log(
        `An error occurred while describing the ops item. Please fix the error and try again. Error message: ${caught.message}`,
      );
      throw caught;
    }
  },
);

const resolveOpsItem = new ScenarioOutput(
  "resolveOpsItem",
  (/** @type {State} */ state) =>
    `Now we will resolve the OpsItem: ${state.opsItemId}`,
);

const sdkResolveOpsItem = new ScenarioAction(
  "sdkResolveOpsItem",
  async (/** @type {State} */ state) => {
    try {
      const _response = await state.ssmClient.send(
        new UpdateOpsItemCommand({
          OpsItemId: state.opsItemId,
          Status: OpsItemStatus.RESOLVED,
        }),
      );
    } catch (caught) {
      console.error(caught.message);
      console.log(
        `An error occurred while updating the ops item. Please fix the error and try again. Error message: ${caught.message}`,
      );
      throw caught;
    }
  },
);

const askToDeleteResources = new ScenarioInput(
  "askToDeleteResources",
  "Would you like to delete the Systems Manager resources created during this example run?",
  { type: "confirm" },
);

const confirmDeleteChoice = new ScenarioOutput(
  "confirmDeleteChoice",
  (/** @type {State} */ state) => {
    if (state.askToDeleteResources) {
      return "You chose to delete the resources.";
    }
    return "The Systems Manager resources will not be deleted. Please delete them manually to avoid charges.";
  },
);

export const sdkDeleteResources = new ScenarioAction(
  "sdkDeleteResources",
  async (/** @type {State} */ state) => {
    try {
      await state.ssmClient.send(
        new DeleteOpsItemCommand({
          OpsItemId: state.opsItemId,
        }),
      );
      console.log(`The ops item: ${state.opsItemId} was successfully deleted.`);
    } catch (caught) {
      console.log(
        `There was a problem deleting the ops item: ${state.opsItemId}. Please delete it manually. Error: ${caught.message}`,
      );
    }

    try {
      await state.ssmClient.send(
        new DeleteMaintenanceWindowCommand({
          Name: state.maintenanceWindow,
          WindowId: state.winId,
        }),
      );
      console.log(
        `The maintenance window: ${state.maintenanceWindow} was successfully deleted.`,
      );
    } catch (caught) {
      console.log(
        `There was a problem deleting the maintenance window: ${state.opsItemId}. Please delete it manually. Error: ${caught.message}`,
      );
    }

    try {
      await state.ssmClient.send(
        new DeleteDocumentCommand({
          Name: state.documentName,
        }),
      );
      console.log(
        `The document: ${state.documentName} was successfully deleted.`,
      );
    } catch (caught) {
      console.log(
        `There was a problem deleting the document: ${state.documentName}. Please delete it manually. Error: ${caught.message}`,
      );
    }
  },
  { skipWhen: (/** @type {{}} */ state) => !state.askToDeleteResources },
);

const goodbye = new ScenarioOutput(
  "goodbye",
  "This concludes the Systems Manager Basics scenario for the AWS Javascript SDK v3. Thank you!",
);

const myScenario = new Scenario(
  "SSM Basics",
  [
    greet,
    pressEnter,
    createMaintenanceWindow,
    getMaintenanceWindow,
    sdkCreateMaintenanceWindow,
    modifyMaintenanceWindow,
    pressEnter,
    sdkModifyMaintenanceWindow,
    createSystemsManagerActions,
    getDocumentName,
    sdkCreateSSMDoc,
    ec2HelloWorld,
    enterIdOrSkipEC2HelloWorld,
    sdkEC2HelloWorld,
    sdkGetCommandTime,
    pressEnter,
    createSSMOpsItem,
    pressEnter,
    sdkCreateSSMOpsItem,
    updateOpsItem,
    pressEnter,
    sdkUpdateOpsItem,
    getOpsItemStatus,
    pressEnter,
    sdkOpsItemStatus,
    resolveOpsItem,
    pressEnter,
    sdkResolveOpsItem,
    askToDeleteResources,
    confirmDeleteChoice,
    sdkDeleteResources,
    goodbye,
  ],
  { ssmClient: new SSMClient({}) },
);

/** @type {{ stepHandlerOptions: StepHandlerOptions }} */
export const main = async (stepHandlerOptions) => {
  await myScenario.run(stepHandlerOptions);
};

// Invoke main function if this file was run directly.
if (process.argv[1] === fileURLToPath(import.meta.url)) {
  const { values } = parseArgs({
    options: {
      yes: {
        type: "boolean",
        short: "y",
      },
    },
  });
  main({ confirmAll: values.yes });
}
```
+ Pour plus de détails sur l’API, consultez les rubriques suivantes dans la *Référence des API du kit AWS SDK pour JavaScript *.
  + [CreateDocument](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/CreateDocumentCommand)
  + [CreateMaintenanceWindow](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/CreateMaintenanceWindowCommand)
  + [CreateOpsItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/CreateOpsItemCommand)
  + [DeleteMaintenanceWindow](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/DeleteMaintenanceWindowCommand)
  + [ListCommandInvocations](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/ListCommandInvocationsCommand)
  + [SendCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/SendCommandCommand)
  + [UpdateOpsItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/UpdateOpsItemCommand)

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 
Exécutez un scénario interactif à une invite de commande.  

```
class SystemsManagerScenario:
    """Runs an interactive scenario that shows how to get started using Amazon Systems Manager."""

    def __init__(self, document_wrapper, maintenance_window_wrapper, ops_item_wrapper):
        """
        :param document_wrapper: An object that wraps Systems Manager document functions.
        :param maintenance_window_wrapper: An object that wraps Systems Manager maintenance window functions.
        :param ops_item_wrapper: An object that wraps Systems Manager OpsItem functions.
        """
        self.document_wrapper = document_wrapper
        self.maintenance_window_wrapper = maintenance_window_wrapper
        self.ops_item_wrapper = ops_item_wrapper

    def run(self):
        """Demonstrates how to use the AWS SDK for Python (Boto3) to get started with Systems Manager."""
        try:
            print("-" * 88)
            print(
                """
Welcome to the AWS Systems Manager SDK Getting Started scenario.
This program demonstrates how to interact with Systems Manager using the AWS SDK for Python (Boto3).
Systems Manager is the operations hub for your AWS applications and resources and a secure end-to-end management 
solution. The program's primary functions include creating a maintenance window, creating a document, sending a 
command to a document, listing documents, listing commands, creating an OpsItem, modifying an OpsItem, and deleting 
Systems Manager resources. Upon completion of the program, all AWS resources are cleaned up.
Let's get started..."""
            )
            q.ask("Please hit Enter")

            print("-" * 88)
            print("Create a Systems Manager maintenance window.")
            maintenance_window_name = q.ask(
                "Please enter the maintenance window name (default is ssm-maintenance-window):",
            )
            if not maintenance_window_name:
                maintenance_window_name = "ssm-maintenance-window"

            self.maintenance_window_wrapper.create(
                name=maintenance_window_name,
                schedule="cron(0 10 ? * MON-FRI *)",
                duration=2,
                cutoff=1,
                allow_unassociated_targets=True,
            )

            print("-" * 88)
            print("Modify the maintenance window by changing the schedule")
            q.ask("Please hit Enter")

            self.maintenance_window_wrapper.update(
                name=maintenance_window_name,
                schedule="cron(0 0 ? * MON *)",
                duration=24,
                cutoff=1,
                allow_unassociated_targets=True,
                enabled=True,
            )

            print("-" * 88)
            print(
                "Create a document that defines the actions that Systems Manager performs on your EC2 instance."
            )
            document_name = q.ask(
                "Please enter the document name (default is ssmdocument):"
            )

            if not document_name:
                document_name = "ssmdocument"

            self.document_wrapper.create(
                name=document_name,
                content="""
{
    "schemaVersion": "2.2",
    "description": "Run a simple shell command",
    "mainSteps": [
        {
            "action": "aws:runShellScript",
            "name": "runEchoCommand",
            "inputs": {
              "runCommand": [
                "echo 'Hello, world!'"
              ]
            }
        }
    ]
}
            """,
            )

            self.document_wrapper.wait_until_active()

            print(
                """
Now you have the option of running a command on an EC2 instance that echoes 'Hello, world!'.
In order to run this command, you must provide the instance ID of a Linux EC2 instance. If you do
not already have a running Linux EC2 instance in your account, you can create one using the AWS console.
For information about creating an EC2 instance, see 
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html.
            """
            )

            if q.ask(
                "Would you like to run a command on an EC2 instance? (y/n)",
                q.is_yesno,
            ):
                instance_id = q.ask(
                    "Please enter the instance ID of the EC2 instance:", q.non_empty
                )
                command_id = self.document_wrapper.send_command(
                    instance_ids=[instance_id]
                )

                self.document_wrapper.wait_command_executed(
                    command_id=command_id, instance_id=instance_id
                )

                print("-" * 88)
                print(
                    "Lets get the time when the specific command was sent to the specific managed node"
                )
                q.ask("Please hit Enter")

                self.document_wrapper.list_command_invocations(instance_id=instance_id)

            print("-" * 88)
            print("-" * 88)
            print(
                """
Now we will create a  Systems Manager OpsItem.
An OpsItem is a feature provided by the Systems Manager service.
It is a type of operational data item that allows you to manage and track various operational issues,
events, or tasks within your AWS environment.

You can create OpsItems to track and manage operational issues as they arise.
For example, you could create an OpsItem whenever your application detects a critical error
or an anomaly in your infrastructure.
            """
            )
            q.ask("Please hit Enter")

            self.ops_item_wrapper.create(
                title="Disk Space Alert",
                description="Created by the Systems Manager Python (Boto3) API",
                source="EC2",
                category="Performance",
                severity="2",
            )

            print("-" * 88)
            print("-" * 88)
            print(f"Now we will update  the OpsItem {self.ops_item_wrapper.id}")
            q.ask("Please hit Enter")

            self.ops_item_wrapper.update(
                title="Disk Space Alert",
                description=f"An update to {self.ops_item_wrapper.id}",
            )

            print(
                f"Now we will get the status of the OpsItem {self.ops_item_wrapper.id}"
            )
            q.ask("Please hit Enter")

            # It may take a second for the ops item to be available
            counter = 0
            while not self.ops_item_wrapper.describe() and counter < 5:
                counter += 1
                time.sleep(1)

            print(f"Now we will resolve the OpsItem {self.ops_item_wrapper.id}")
            q.ask("Please hit Enter")

            self.ops_item_wrapper.update(status="Resolved")

            print("-" * 88)
            print("-" * 88)
            if q.ask(
                "Would you like to delete the Systems Manager resources? (y/n)",
                q.is_yesno,
            ):
                print("You selected to delete the resources.")
                self.cleanup()
            else:
                print("The Systems Manager resources will not be deleted")

            print("-" * 88)
            print("This concludes the Systems Manager SDK Getting Started scenario.")
            print("-" * 88)

        except Exception:
            self.cleanup()
            raise

    def cleanup(self):
        self.maintenance_window_wrapper.delete()
        self.ops_item_wrapper.delete()
        self.document_wrapper.delete()


if __name__ == "__main__":
    try:
        scenario = SystemsManagerScenario(
            DocumentWrapper.from_client(),
            MaintenanceWindowWrapper.from_client(),
            OpsItemWrapper.from_client(),
        )
        scenario.run()
    except Exception:
        logging.exception("Something went wrong with the demo.")
```
Définissez une classe qui encapsule les actions de document et de commande.  

```
class DocumentWrapper:
    """Encapsulates AWS Systems Manager Document actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def create(self, content, name):
        """
        Creates a document.

        :param content: The content of the document.
        :param name: The name of the document.
        """
        try:
            self.ssm_client.create_document(
                Name=name, Content=content, DocumentType="Command"
            )
            self.name = name
        except self.ssm_client.exceptions.DocumentAlreadyExists:
            print(f"Document {name} already exists.")
            self.name = name
        except ClientError as err:
            logger.error(
                "Couldn't create %s. Here's why: %s: %s",
                name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise


    def delete(self):
        """
        Deletes an AWS Systems Manager document.
        """
        if self.name is None:
            return

        try:
            self.ssm_client.delete_document(Name=self.name)
            print(f"Deleted document {self.name}.")
            self.name = None
        except ClientError as err:
            logger.error(
                "Couldn't delete %s. Here's why: %s: %s",
                self.name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise


    def send_command(self, instance_ids):
        """
        Sends a command to one or more instances.

        :param instance_ids: The IDs of the instances to send the command to.
        :return: The ID of the command.
        """
        try:
            response = self.ssm_client.send_command(
                InstanceIds=instance_ids, DocumentName=self.name, TimeoutSeconds=3600
            )
            return response["Command"]["CommandId"]
        except ClientError as err:
            logger.error(
                "Couldn't send command to %s. Here's why: %s: %s",
                self.name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise


    def describe(self):
        """
        Describes the document.

        :return: Document status.
        """
        try:
            response = self.ssm_client.describe_document(Name=self.name)
            return response["Document"]["Status"]
        except ClientError as err:
            logger.error(
                "Couldn't get %s. Here's why: %s: %s",
                self.name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise


    def wait_until_active(self, max_attempts=20, delay=5):
        """
        Waits until the document is active.

        :param max_attempts: The maximum number of attempts for checking the status.
        :param delay: The delay in seconds between each check.
        """
        attempt = 0
        status = ""
        while attempt <= max_attempts:
            status = self.describe()
            if status == "Active":
                break
            attempt += 1
            time.sleep(delay)

        if status != "Active":
            logger.error("Document is not active.")
        else:
            logger.info("Document is active.")

    def wait_command_executed(self, command_id, instance_id):
        """
        Waits until the command is executed on the instance.

        :param command_id: The ID of the command.
        :param instance_id: The ID of the instance.
        """

        waiter = self.ssm_client.get_waiter("command_executed")
        waiter.wait(CommandId=command_id, InstanceId=instance_id)

    def list_command_invocations(self, instance_id):
        """
        Lists the commands for an instance.

        :param instance_id: The ID of the instance.
        :return: The list of commands.
        """
        try:
            paginator = self.ssm_client.get_paginator("list_command_invocations")
            command_invocations = []
            for page in paginator.paginate(InstanceId=instance_id):
                command_invocations.extend(page["CommandInvocations"])
            num_of_commands = len(command_invocations)
            print(
                f"{num_of_commands} command invocation(s) found for instance {instance_id}."
            )

            if num_of_commands > 10:
                print("Displaying the first 10 commands:")
                num_of_commands = 10
            date_format = "%A, %d %B %Y %I:%M%p"
            for command in command_invocations[:num_of_commands]:
                print(
                    f"   The time of command invocation is {command['RequestedDateTime'].strftime(date_format)}"
                )
        except ClientError as err:
            logger.error(
                "Couldn't list commands for %s. Here's why: %s: %s",
                instance_id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
Définissez une classe qui encapsule les actions de l’élément d’opération.  

```
class OpsItemWrapper:
    """Encapsulates AWS Systems Manager OpsItem actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.id = None

    @classmethod
    def from_client(cls):
        """
        :return: A OpsItemWrapper instance.
        """
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def create(self, title, source, category, severity, description):
        """
        Create an OpsItem

        :param title: The OpsItem title.
        :param source: The OpsItem source.
        :param category: The OpsItem category.
        :param severity: The OpsItem severity.
        :param description: The OpsItem description.

        """
        try:
            response = self.ssm_client.create_ops_item(
                Title=title,
                Source=source,
                Category=category,
                Severity=severity,
                Description=description,
            )
            self.id = response["OpsItemId"]
        except self.ssm_client.exceptions.OpsItemLimitExceededException as err:
            logger.error(
                "Couldn't create ops item because you have exceeded your open OpsItem limit. "
                "Here's why: %s: %s",
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
        except ClientError as err:
            logger.error(
                "Couldn't create ops item %s. Here's why: %s: %s",
                title,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise

    def delete(self):
        """
        Delete the OpsItem.
        """
        if self.id is None:
            return
        try:
            self.ssm_client.delete_ops_item(OpsItemId=self.id)
            print(f"Deleted ops item with id {self.id}")
            self.id = None
        except ClientError as err:
            logger.error(
                "Couldn't delete ops item %s. Here's why: %s: %s",
                self.id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise


    def describe(self):
        """
        Describe an OpsItem.
        """
        try:
            paginator = self.ssm_client.get_paginator("describe_ops_items")
            ops_items = []
            for page in paginator.paginate(
                OpsItemFilters=[
                    {"Key": "OpsItemId", "Values": [self.id], "Operator": "Equal"}
                ]
            ):
                ops_items.extend(page["OpsItemSummaries"])

            for item in ops_items:
                print(
                    f"The item title is {item['Title']} and the status is {item['Status']}"
                )
            return len(ops_items) > 0
        except ClientError as err:
            logger.error(
                "Couldn't describe ops item %s. Here's why: %s: %s",
                self.id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise


    def update(self, title=None, description=None, status=None):
        """
        Update an OpsItem.

        :param title: The new OpsItem title.
        :param description: The new OpsItem description.
        :param status: The new OpsItem status.
        :return:
        """
        args = dict(OpsItemId=self.id)
        if title is not None:
            args["Title"] = title
        if description is not None:
            args["Description"] = description
        if status is not None:
            args["Status"] = status
        try:
            self.ssm_client.update_ops_item(**args)
        except ClientError as err:
            logger.error(
                "Couldn't update ops item %s. Here's why: %s: %s",
                self.id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
Définissez une classe qui encapsule les actions de la fenêtre de maintenance.  

```
class MaintenanceWindowWrapper:
    """Encapsulates AWS Systems Manager maintenance window actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.window_id = None
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def create(self, name, schedule, duration, cutoff, allow_unassociated_targets):
        """
        Create an AWS Systems Manager maintenance window.

        :param name: The name of the maintenance window.
        :param schedule: The schedule of the maintenance window.
        :param duration: The duration of the maintenance window.
        :param cutoff: The cutoff time of the maintenance window.
        :param allow_unassociated_targets: Allow the maintenance window to run on managed nodes, even
                                           if you haven't registered those nodes as targets.
        """
        try:
            response = self.ssm_client.create_maintenance_window(
                Name=name,
                Schedule=schedule,
                Duration=duration,
                Cutoff=cutoff,
                AllowUnassociatedTargets=allow_unassociated_targets,
            )
            self.window_id = response["WindowId"]
            self.name = name
            logger.info("Created maintenance window %s.", self.window_id)
        except ParamValidationError as error:
            logger.error(
                "Parameter validation error when trying to create maintenance window %s. Here's why: %s",
                self.window_id,
                error,
            )
            raise
        except ClientError as err:
            logger.error(
                "Couldn't create maintenance window %s. Here's why: %s: %s",
                name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise


    def delete(self):
        """
        Delete the associated AWS Systems Manager maintenance window.
        """
        if self.window_id is None:
            return

        try:
            self.ssm_client.delete_maintenance_window(WindowId=self.window_id)
            logger.info("Deleted maintenance window %s.", self.window_id)
            print(f"Deleted maintenance window {self.name}")
            self.window_id = None
        except ClientError as err:
            logger.error(
                "Couldn't delete maintenance window %s. Here's why: %s: %s",
                self.window_id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise


    def update(
        self, name, enabled, schedule, duration, cutoff, allow_unassociated_targets
    ):
        """
        Update an AWS Systems Manager maintenance window.

        :param name: The name of the maintenance window.
        :param enabled: Whether the maintenance window is enabled to run on managed nodes.
        :param schedule: The schedule of the maintenance window.
        :param duration: The duration of the maintenance window.
        :param cutoff: The cutoff time of the maintenance window.
        :param allow_unassociated_targets: Allow the maintenance window to run on managed nodes, even
                                           if you haven't registered those nodes as targets.
        """
        try:
            self.ssm_client.update_maintenance_window(
                WindowId=self.window_id,
                Name=name,
                Enabled=enabled,
                Schedule=schedule,
                Duration=duration,
                Cutoff=cutoff,
                AllowUnassociatedTargets=allow_unassociated_targets,
            )
            self.name = name
            logger.info("Updated maintenance window %s.", self.window_id)
        except ParamValidationError as error:
            logger.error(
                "Parameter validation error when trying to update maintenance window %s. Here's why: %s",
                self.window_id,
                error,
            )
            raise
        except ClientError as err:
            logger.error(
                "Couldn't update maintenance window %s. Here's why: %s: %s",
                self.name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+ Pour plus de détails sur l’API, consultez les rubriques suivantes dans la *Référence des API du kit AWS SDK for Python (Boto3)*.
  + [CreateDocument](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/CreateDocument)
  + [CreateMaintenanceWindow](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/CreateMaintenanceWindow)
  + [CreateOpsItem](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/CreateOpsItem)
  + [DeleteMaintenanceWindow](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/DeleteMaintenanceWindow)
  + [ListCommandInvocations](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/ListCommandInvocations)
  + [SendCommand](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/SendCommand)
  + [UpdateOpsItem](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/UpdateOpsItem)

------

# Actions destinées à l'utilisation de Systems Manager AWS SDKs
<a name="ssm_code_examples_actions"></a>

Les exemples de code suivants montrent comment effectuer des actions individuelles de Systems Manager avec AWS SDKs. Chaque exemple inclut un lien vers GitHub, où vous pouvez trouver des instructions pour configurer et exécuter le code. 

 Les exemples suivants incluent uniquement les actions les plus couramment utilisées. Pour obtenir la liste complète, consultez la [Référence des API AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/APIReference/Welcome.html). 

**Topics**
+ [`AddTagsToResource`](ssm_example_ssm_AddTagsToResource_section.md)
+ [`CancelCommand`](ssm_example_ssm_CancelCommand_section.md)
+ [`CreateActivation`](ssm_example_ssm_CreateActivation_section.md)
+ [`CreateAssociation`](ssm_example_ssm_CreateAssociation_section.md)
+ [`CreateAssociationBatch`](ssm_example_ssm_CreateAssociationBatch_section.md)
+ [`CreateDocument`](ssm_example_ssm_CreateDocument_section.md)
+ [`CreateMaintenanceWindow`](ssm_example_ssm_CreateMaintenanceWindow_section.md)
+ [`CreateOpsItem`](ssm_example_ssm_CreateOpsItem_section.md)
+ [`CreatePatchBaseline`](ssm_example_ssm_CreatePatchBaseline_section.md)
+ [`DeleteActivation`](ssm_example_ssm_DeleteActivation_section.md)
+ [`DeleteAssociation`](ssm_example_ssm_DeleteAssociation_section.md)
+ [`DeleteDocument`](ssm_example_ssm_DeleteDocument_section.md)
+ [`DeleteMaintenanceWindow`](ssm_example_ssm_DeleteMaintenanceWindow_section.md)
+ [`DeleteOpsItem`](ssm_example_ssm_DeleteOpsItem_section.md)
+ [`DeleteParameter`](ssm_example_ssm_DeleteParameter_section.md)
+ [`DeletePatchBaseline`](ssm_example_ssm_DeletePatchBaseline_section.md)
+ [`DeregisterManagedInstance`](ssm_example_ssm_DeregisterManagedInstance_section.md)
+ [`DeregisterPatchBaselineForPatchGroup`](ssm_example_ssm_DeregisterPatchBaselineForPatchGroup_section.md)
+ [`DeregisterTargetFromMaintenanceWindow`](ssm_example_ssm_DeregisterTargetFromMaintenanceWindow_section.md)
+ [`DeregisterTaskFromMaintenanceWindow`](ssm_example_ssm_DeregisterTaskFromMaintenanceWindow_section.md)
+ [`DescribeActivations`](ssm_example_ssm_DescribeActivations_section.md)
+ [`DescribeAssociation`](ssm_example_ssm_DescribeAssociation_section.md)
+ [`DescribeAssociationExecutionTargets`](ssm_example_ssm_DescribeAssociationExecutionTargets_section.md)
+ [`DescribeAssociationExecutions`](ssm_example_ssm_DescribeAssociationExecutions_section.md)
+ [`DescribeAutomationExecutions`](ssm_example_ssm_DescribeAutomationExecutions_section.md)
+ [`DescribeAutomationStepExecutions`](ssm_example_ssm_DescribeAutomationStepExecutions_section.md)
+ [`DescribeAvailablePatches`](ssm_example_ssm_DescribeAvailablePatches_section.md)
+ [`DescribeDocument`](ssm_example_ssm_DescribeDocument_section.md)
+ [`DescribeDocumentPermission`](ssm_example_ssm_DescribeDocumentPermission_section.md)
+ [`DescribeEffectiveInstanceAssociations`](ssm_example_ssm_DescribeEffectiveInstanceAssociations_section.md)
+ [`DescribeEffectivePatchesForPatchBaseline`](ssm_example_ssm_DescribeEffectivePatchesForPatchBaseline_section.md)
+ [`DescribeInstanceAssociationsStatus`](ssm_example_ssm_DescribeInstanceAssociationsStatus_section.md)
+ [`DescribeInstanceInformation`](ssm_example_ssm_DescribeInstanceInformation_section.md)
+ [`DescribeInstancePatchStates`](ssm_example_ssm_DescribeInstancePatchStates_section.md)
+ [`DescribeInstancePatchStatesForPatchGroup`](ssm_example_ssm_DescribeInstancePatchStatesForPatchGroup_section.md)
+ [`DescribeInstancePatches`](ssm_example_ssm_DescribeInstancePatches_section.md)
+ [`DescribeMaintenanceWindowExecutionTaskInvocations`](ssm_example_ssm_DescribeMaintenanceWindowExecutionTaskInvocations_section.md)
+ [`DescribeMaintenanceWindowExecutionTasks`](ssm_example_ssm_DescribeMaintenanceWindowExecutionTasks_section.md)
+ [`DescribeMaintenanceWindowExecutions`](ssm_example_ssm_DescribeMaintenanceWindowExecutions_section.md)
+ [`DescribeMaintenanceWindowTargets`](ssm_example_ssm_DescribeMaintenanceWindowTargets_section.md)
+ [`DescribeMaintenanceWindowTasks`](ssm_example_ssm_DescribeMaintenanceWindowTasks_section.md)
+ [`DescribeMaintenanceWindows`](ssm_example_ssm_DescribeMaintenanceWindows_section.md)
+ [`DescribeOpsItems`](ssm_example_ssm_DescribeOpsItems_section.md)
+ [`DescribeParameters`](ssm_example_ssm_DescribeParameters_section.md)
+ [`DescribePatchBaselines`](ssm_example_ssm_DescribePatchBaselines_section.md)
+ [`DescribePatchGroupState`](ssm_example_ssm_DescribePatchGroupState_section.md)
+ [`DescribePatchGroups`](ssm_example_ssm_DescribePatchGroups_section.md)
+ [`GetAutomationExecution`](ssm_example_ssm_GetAutomationExecution_section.md)
+ [`GetCommandInvocation`](ssm_example_ssm_GetCommandInvocation_section.md)
+ [`GetConnectionStatus`](ssm_example_ssm_GetConnectionStatus_section.md)
+ [`GetDefaultPatchBaseline`](ssm_example_ssm_GetDefaultPatchBaseline_section.md)
+ [`GetDeployablePatchSnapshotForInstance`](ssm_example_ssm_GetDeployablePatchSnapshotForInstance_section.md)
+ [`GetDocument`](ssm_example_ssm_GetDocument_section.md)
+ [`GetInventory`](ssm_example_ssm_GetInventory_section.md)
+ [`GetInventorySchema`](ssm_example_ssm_GetInventorySchema_section.md)
+ [`GetMaintenanceWindow`](ssm_example_ssm_GetMaintenanceWindow_section.md)
+ [`GetMaintenanceWindowExecution`](ssm_example_ssm_GetMaintenanceWindowExecution_section.md)
+ [`GetMaintenanceWindowExecutionTask`](ssm_example_ssm_GetMaintenanceWindowExecutionTask_section.md)
+ [`GetParameter`](ssm_example_ssm_GetParameter_section.md)
+ [`GetParameterHistory`](ssm_example_ssm_GetParameterHistory_section.md)
+ [`GetParameters`](ssm_example_ssm_GetParameters_section.md)
+ [`GetPatchBaseline`](ssm_example_ssm_GetPatchBaseline_section.md)
+ [`GetPatchBaselineForPatchGroup`](ssm_example_ssm_GetPatchBaselineForPatchGroup_section.md)
+ [`ListAssociationVersions`](ssm_example_ssm_ListAssociationVersions_section.md)
+ [`ListAssociations`](ssm_example_ssm_ListAssociations_section.md)
+ [`ListCommandInvocations`](ssm_example_ssm_ListCommandInvocations_section.md)
+ [`ListCommands`](ssm_example_ssm_ListCommands_section.md)
+ [`ListComplianceItems`](ssm_example_ssm_ListComplianceItems_section.md)
+ [`ListComplianceSummaries`](ssm_example_ssm_ListComplianceSummaries_section.md)
+ [`ListDocumentVersions`](ssm_example_ssm_ListDocumentVersions_section.md)
+ [`ListDocuments`](ssm_example_ssm_ListDocuments_section.md)
+ [`ListInventoryEntries`](ssm_example_ssm_ListInventoryEntries_section.md)
+ [`ListResourceComplianceSummaries`](ssm_example_ssm_ListResourceComplianceSummaries_section.md)
+ [`ListTagsForResource`](ssm_example_ssm_ListTagsForResource_section.md)
+ [`ModifyDocumentPermission`](ssm_example_ssm_ModifyDocumentPermission_section.md)
+ [`PutComplianceItems`](ssm_example_ssm_PutComplianceItems_section.md)
+ [`PutInventory`](ssm_example_ssm_PutInventory_section.md)
+ [`PutParameter`](ssm_example_ssm_PutParameter_section.md)
+ [`RegisterDefaultPatchBaseline`](ssm_example_ssm_RegisterDefaultPatchBaseline_section.md)
+ [`RegisterPatchBaselineForPatchGroup`](ssm_example_ssm_RegisterPatchBaselineForPatchGroup_section.md)
+ [`RegisterTargetWithMaintenanceWindow`](ssm_example_ssm_RegisterTargetWithMaintenanceWindow_section.md)
+ [`RegisterTaskWithMaintenanceWindow`](ssm_example_ssm_RegisterTaskWithMaintenanceWindow_section.md)
+ [`RemoveTagsFromResource`](ssm_example_ssm_RemoveTagsFromResource_section.md)
+ [`SendCommand`](ssm_example_ssm_SendCommand_section.md)
+ [`StartAutomationExecution`](ssm_example_ssm_StartAutomationExecution_section.md)
+ [`StartSession`](ssm_example_ssm_StartSession_section.md)
+ [`StopAutomationExecution`](ssm_example_ssm_StopAutomationExecution_section.md)
+ [`UpdateAssociation`](ssm_example_ssm_UpdateAssociation_section.md)
+ [`UpdateAssociationStatus`](ssm_example_ssm_UpdateAssociationStatus_section.md)
+ [`UpdateDocument`](ssm_example_ssm_UpdateDocument_section.md)
+ [`UpdateDocumentDefaultVersion`](ssm_example_ssm_UpdateDocumentDefaultVersion_section.md)
+ [`UpdateMaintenanceWindow`](ssm_example_ssm_UpdateMaintenanceWindow_section.md)
+ [`UpdateManagedInstanceRole`](ssm_example_ssm_UpdateManagedInstanceRole_section.md)
+ [`UpdateOpsItem`](ssm_example_ssm_UpdateOpsItem_section.md)
+ [`UpdatePatchBaseline`](ssm_example_ssm_UpdatePatchBaseline_section.md)

# Utilisation de `AddTagsToResource` avec une CLI
<a name="ssm_example_ssm_AddTagsToResource_section"></a>

Les exemples de code suivants illustrent comment utiliser `AddTagsToResource`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour ajouter des balises à une fenêtre de maintenance**  
L’exemple `add-tags-to-resource` suivant ajoute une balise à la fenêtre de maintenance spécifiée.  

```
aws ssm add-tags-to-resource \
    --resource-type "MaintenanceWindow" \
    --resource-id "mw-03eb9db428EXAMPLE" \
    --tags "Key=Stack,Value=Production"
```
Cette commande ne produit aucune sortie.  
**Exemple 2 : pour ajouter des balises à un paramètre**  
L’exemple `add-tags-to-resource` suivant ajoute deux balises au paramètre spécifié.  

```
aws ssm add-tags-to-resource \
    --resource-type "Parameter" \
    --resource-id "My-Parameter" \
    --tags '[{"Key":"Region","Value":"East"},{"Key":"Environment", "Value":"Production"}]'
```
Cette commande ne produit aucune sortie.  
**Exemple 3 : pour ajouter des balises à un document SSM**  
L’exemple `add-tags-to-resource` suivant ajoute une balise au document spécifié.  

```
aws ssm add-tags-to-resource \
    --resource-type "Document" \
    --resource-id "My-Document" \
    --tags "Key=Quarter,Value=Q322"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Balisage des ressources Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/tagging-resources.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, voir [AddTagsToResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/add-tags-to-resource.html)la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple met à jour une fenêtre de maintenance avec de nouvelles balises. Il n’y a pas de sortie si la commande réussit. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$option1 = @{Key="Stack";Value=@("Production")}
Add-SSMResourceTag -ResourceId "mw-03eb9db42890fb82d" -ResourceType "MaintenanceWindow" -Tag $option1
```
**Exemple 2 : Avec PowerShell la version 2, vous devez utiliser New-Object pour créer chaque balise. Il n’y a pas de sortie si la commande réussit.**  

```
$tag1 = New-Object Amazon.SimpleSystemsManagement.Model.Tag
$tag1.Key = "Stack"
$tag1.Value = "Production"
		
Add-SSMResourceTag -ResourceId "mw-03eb9db42890fb82d" -ResourceType "MaintenanceWindow" -Tag $tag1
```
+  Pour plus de détails sur l'API, reportez-vous [AddTagsToResource](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple met à jour une fenêtre de maintenance avec de nouvelles balises. Il n’y a pas de sortie si la commande réussit. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$option1 = @{Key="Stack";Value=@("Production")}
Add-SSMResourceTag -ResourceId "mw-03eb9db42890fb82d" -ResourceType "MaintenanceWindow" -Tag $option1
```
**Exemple 2 : Avec PowerShell la version 2, vous devez utiliser New-Object pour créer chaque balise. Il n’y a pas de sortie si la commande réussit.**  

```
$tag1 = New-Object Amazon.SimpleSystemsManagement.Model.Tag
$tag1.Key = "Stack"
$tag1.Value = "Production"
		
Add-SSMResourceTag -ResourceId "mw-03eb9db42890fb82d" -ResourceType "MaintenanceWindow" -Tag $tag1
```
+  Pour plus de détails sur l'API, reportez-vous [AddTagsToResource](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `CancelCommand` avec une CLI
<a name="ssm_example_ssm_CancelCommand_section"></a>

Les exemples de code suivants illustrent comment utiliser `CancelCommand`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour annuler une commande pour toutes les instances**  
L’exemple `cancel-command` suivant tente d’annuler la commande spécifiée qui est déjà en cours d’exécution pour toutes les instances.  

```
aws ssm cancel-command \
    --command-id "662add3d-5831-4a10-b64a-f2ff3EXAMPLE"
```
Cette commande ne produit aucune sortie.  
**Exemple 2 : pour annuler une commande pour des instances spécifiques**  
L’exemple `cancel-command` suivant tente d’annuler une commande pour l’instance spécifiée uniquement.  

```
aws ssm cancel-command \
    --command-id "662add3d-5831-4a10-b64a-f2ff3EXAMPLE"
    --instance-ids "i-02573cafcfEXAMPLE"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Balisage des paramètres Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-tag.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, voir [CancelCommand](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/cancel-command.html)la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple tente d’annuler une commande. Il n’y a pas de sortie si l’opération réussit.**  

```
Stop-SSMCommand -CommandId "9ded293e-e792-4440-8e3e-7b8ec5feaa38"
```
+  Pour plus de détails sur l'API, reportez-vous [CancelCommand](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple tente d’annuler une commande. Il n’y a pas de sortie si l’opération réussit.**  

```
Stop-SSMCommand -CommandId "9ded293e-e792-4440-8e3e-7b8ec5feaa38"
```
+  Pour plus de détails sur l'API, reportez-vous [CancelCommand](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `CreateActivation` avec une CLI
<a name="ssm_example_ssm_CreateActivation_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreateActivation`.

------
#### [ CLI ]

**AWS CLI**  
**Pour créer une activation d’instance gérée**  
L’exemple `create-activation` suivant crée une activation d’instance gérée.  

```
aws ssm create-activation \
    --default-instance-name "HybridWebServers" \
    --iam-role "HybridWebServersRole" \
    --registration-limit 5
```
Sortie :  

```
{
    "ActivationId": "5743558d-563b-4457-8682-d16c3EXAMPLE",
    "ActivationCode": "dRmgnYaFv567vEXAMPLE"
}
```
Pour plus d’informations, consultez [Étape 4 : créer une activation d’instance gérée pour un environnement hybride](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-managed-instance-activation.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, voir [CreateActivation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/create-activation.html)la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple crée une instance gérée.**  

```
New-SSMActivation -DefaultInstanceName "MyWebServers" -IamRole "SSMAutomationRole" -RegistrationLimit 10
```
**Sortie** :  

```
ActivationCode       ActivationId
--------------       ------------
KWChhOxBTiwDcKE9BlKC 08e51e79-1e36-446c-8e63-9458569c1363
```
+  Pour plus de détails sur l'API, reportez-vous [CreateActivation](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple crée une instance gérée.**  

```
New-SSMActivation -DefaultInstanceName "MyWebServers" -IamRole "SSMAutomationRole" -RegistrationLimit 10
```
**Sortie** :  

```
ActivationCode       ActivationId
--------------       ------------
KWChhOxBTiwDcKE9BlKC 08e51e79-1e36-446c-8e63-9458569c1363
```
+  Pour plus de détails sur l'API, reportez-vous [CreateActivation](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `CreateAssociation` avec une CLI
<a name="ssm_example_ssm_CreateAssociation_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreateAssociation`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour associer un document à l'aide d'une instance IDs**  
Cet exemple associe un document de configuration à une instance, en utilisant l'instance IDs.  

```
aws ssm create-association \
    --instance-id "i-0cb2b964d3e14fd9f" \
    --name "AWS-UpdateSSMAgent"
```
Sortie :  

```
{
    "AssociationDescription": {
        "Status": {
            "Date": 1487875500.33,
            "Message": "Associated with AWS-UpdateSSMAgent",
            "Name": "Associated"
        },
        "Name": "AWS-UpdateSSMAgent",
        "InstanceId": "i-0cb2b964d3e14fd9f",
        "Overview": {
            "Status": "Pending",
            "DetailedStatus": "Creating"
        },
        "AssociationId": "b7c3266e-a544-44db-877e-b20d3a108189",
        "DocumentVersion": "$DEFAULT",
        "LastUpdateAssociationDate": 1487875500.33,
        "Date": 1487875500.33,
        "Targets": [
            {
                "Values": [
                    "i-0cb2b964d3e14fd9f"
                ],
                "Key": "InstanceIds"
            }
        ]
    }
}
```
Pour plus d'informations, consultez [CreateAssociation](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateAssociation.html)la *référence de l'API AWS Systems Manager*.  
**Exemple 2 : pour associer un document à l’aide des cibles**  
Cet exemple associe un document de configuration à une instance à l’aide des cibles.  

```
aws ssm create-association \
    --name "AWS-UpdateSSMAgent" \
    --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f"
```
Sortie :  

```
{
    "AssociationDescription": {
        "Status": {
            "Date": 1487875500.33,
            "Message": "Associated with AWS-UpdateSSMAgent",
            "Name": "Associated"
        },
        "Name": "AWS-UpdateSSMAgent",
        "InstanceId": "i-0cb2b964d3e14fd9f",
        "Overview": {
            "Status": "Pending",
            "DetailedStatus": "Creating"
        },
        "AssociationId": "b7c3266e-a544-44db-877e-b20d3a108189",
        "DocumentVersion": "$DEFAULT",
        "LastUpdateAssociationDate": 1487875500.33,
        "Date": 1487875500.33,
        "Targets": [
            {
                "Values": [
                    "i-0cb2b964d3e14fd9f"
                ],
                "Key": "InstanceIds"
            }
        ]
    }
}
```
Pour plus d'informations, consultez [CreateAssociation](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateAssociation.html)la *référence de l'API AWS Systems Manager*.  
**Exemple 3 : pour créer une association qui ne s’exécute qu’une seule fois**  
Cet exemple crée une nouvelle association qui ne s’exécute qu’une seule fois à la date et à l’heure spécifiées. Les associations créées avec une date passée ou présente (au moment du traitement, la date est passée) sont exécutées immédiatement.  

```
aws ssm create-association \
    --name "AWS-UpdateSSMAgent" \
    --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" \
    --schedule-expression "at(2020-05-14T15:55:00)"  \
    --apply-only-at-cron-interval
```
Sortie :  

```
{
    "AssociationDescription": {
        "Status": {
            "Date": 1487875500.33,
            "Message": "Associated with AWS-UpdateSSMAgent",
            "Name": "Associated"
        },
        "Name": "AWS-UpdateSSMAgent",
        "InstanceId": "i-0cb2b964d3e14fd9f",
        "Overview": {
            "Status": "Pending",
            "DetailedStatus": "Creating"
        },
        "AssociationId": "b7c3266e-a544-44db-877e-b20d3a108189",
        "DocumentVersion": "$DEFAULT",
        "LastUpdateAssociationDate": 1487875500.33,
        "Date": 1487875500.33,
        "Targets": [
            {
                "Values": [
                    "i-0cb2b964d3e14fd9f"
                ],
                "Key": "InstanceIds"
            }
        ]
    }
}
```
Pour plus d'informations, reportez-vous [CreateAssociation](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateAssociation.html)à la section *Référence de l'API AWS Systems Manager* ou [Reference : Cron and rate expressions for Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [CreateAssociation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/create-association.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : Cet exemple associe un document de configuration à une instance, en utilisant l'instance IDs.**  

```
New-SSMAssociation -InstanceId "i-0cb2b964d3e14fd9f" -Name "AWS-UpdateSSMAgent"
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            : i-0000293ffd8c57862
Date                  : 2/23/2017 6:55:22 PM
Status.Name           : Associated
Status.Date           : 2/20/2015 8:31:11 AM
Status.Message        : Associated with AWS-UpdateSSMAgent
Status.AdditionalInfo :
```
**Exemple 2 : cet exemple associe un document de configuration à une instance, en utilisant des cibles.**  

```
$target = @{Key="instanceids";Values=@("i-0cb2b964d3e14fd9f")}
New-SSMAssociation -Name "AWS-UpdateSSMAgent" -Target $target
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            :
Date                  : 3/1/2017 6:22:21 PM
Status.Name           :
Status.Date           :
Status.Message        :
Status.AdditionalInfo :
```
**Exemple 3 : cet exemple associe un document de configuration à une instance, en utilisant des cibles et des paramètres.**  

```
$target = @{Key="instanceids";Values=@("i-0cb2b964d3e14fd9f")}
$params = @{
  "action"="configure"
  "mode"="ec2"
  "optionalConfigurationSource"="ssm"
  "optionalConfigurationLocation"=""
  "optionalRestart"="yes"
}
New-SSMAssociation -Name "Configure-CloudWatch" -AssociationName "CWConfiguration" -Target $target -Parameter $params
```
**Sortie** :  

```
Name                  : Configure-CloudWatch
InstanceId            :
Date                  : 5/17/2018 3:17:44 PM
Status.Name           :
Status.Date           :
Status.Message        :
Status.AdditionalInfo :
```
**Exemple 4 : cet exemple crée une association avec toutes les instances de la région, avec `AWS-GatherSoftwareInventory`. Il fournit également des fichiers personnalisés et des emplacements de registre dans les paramètres à collecter**  

```
$params = [Collections.Generic.Dictionary[String,Collections.Generic.List[String]]]::new()
$params["windowsRegistry"] ='[{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\MachineImage","Recursive":false,"ValueNames":["AMIName"]}]'
$params["files"] = '[{"Path":"C:\Program Files","Pattern":["*.exe"],"Recursive":true}, {"Path":"C:\ProgramData","Pattern":["*.log"],"Recursive":true}]' 
New-SSMAssociation -AssociationName new-in-mum -Name AWS-GatherSoftwareInventory -Target @{Key="instanceids";Values="*"} -Parameter $params -region ap-south-1 -ScheduleExpression "rate(720 minutes)"
```
**Sortie** :  

```
Name                  : AWS-GatherSoftwareInventory
InstanceId            :
Date                  : 6/9/2019 8:57:56 AM
Status.Name           :
Status.Date           :
Status.Message        :
Status.AdditionalInfo :
```
+  Pour plus de détails sur l'API, reportez-vous [CreateAssociation](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : Cet exemple associe un document de configuration à une instance, en utilisant l'instance IDs.**  

```
New-SSMAssociation -InstanceId "i-0cb2b964d3e14fd9f" -Name "AWS-UpdateSSMAgent"
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            : i-0000293ffd8c57862
Date                  : 2/23/2017 6:55:22 PM
Status.Name           : Associated
Status.Date           : 2/20/2015 8:31:11 AM
Status.Message        : Associated with AWS-UpdateSSMAgent
Status.AdditionalInfo :
```
**Exemple 2 : cet exemple associe un document de configuration à une instance, en utilisant des cibles.**  

```
$target = @{Key="instanceids";Values=@("i-0cb2b964d3e14fd9f")}
New-SSMAssociation -Name "AWS-UpdateSSMAgent" -Target $target
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            :
Date                  : 3/1/2017 6:22:21 PM
Status.Name           :
Status.Date           :
Status.Message        :
Status.AdditionalInfo :
```
**Exemple 3 : cet exemple associe un document de configuration à une instance, en utilisant des cibles et des paramètres.**  

```
$target = @{Key="instanceids";Values=@("i-0cb2b964d3e14fd9f")}
$params = @{
  "action"="configure"
  "mode"="ec2"
  "optionalConfigurationSource"="ssm"
  "optionalConfigurationLocation"=""
  "optionalRestart"="yes"
}
New-SSMAssociation -Name "Configure-CloudWatch" -AssociationName "CWConfiguration" -Target $target -Parameter $params
```
**Sortie** :  

```
Name                  : Configure-CloudWatch
InstanceId            :
Date                  : 5/17/2018 3:17:44 PM
Status.Name           :
Status.Date           :
Status.Message        :
Status.AdditionalInfo :
```
**Exemple 4 : cet exemple crée une association avec toutes les instances de la région, avec `AWS-GatherSoftwareInventory`. Il fournit également des fichiers personnalisés et des emplacements de registre dans les paramètres à collecter**  

```
$params = [Collections.Generic.Dictionary[String,Collections.Generic.List[String]]]::new()
$params["windowsRegistry"] ='[{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\MachineImage","Recursive":false,"ValueNames":["AMIName"]}]'
$params["files"] = '[{"Path":"C:\Program Files","Pattern":["*.exe"],"Recursive":true}, {"Path":"C:\ProgramData","Pattern":["*.log"],"Recursive":true}]' 
New-SSMAssociation -AssociationName new-in-mum -Name AWS-GatherSoftwareInventory -Target @{Key="instanceids";Values="*"} -Parameter $params -region ap-south-1 -ScheduleExpression "rate(720 minutes)"
```
**Sortie** :  

```
Name                  : AWS-GatherSoftwareInventory
InstanceId            :
Date                  : 6/9/2019 8:57:56 AM
Status.Name           :
Status.Date           :
Status.Message        :
Status.AdditionalInfo :
```
+  Pour plus de détails sur l'API, reportez-vous [CreateAssociation](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `CreateAssociationBatch` avec une CLI
<a name="ssm_example_ssm_CreateAssociationBatch_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreateAssociationBatch`.

------
#### [ CLI ]

**AWS CLI**  
**Pour créer plusieurs associations**  
Cet exemple associe un document de configuration à plusieurs instances. La sortie renvoie une liste des opérations réussies et échouées, le cas échéant.  
Commande :  

```
aws ssm create-association-batch --entries "Name=AWS-UpdateSSMAgent,InstanceId=i-1234567890abcdef0" "Name=AWS-UpdateSSMAgent,InstanceId=i-9876543210abcdef0"
```
Sortie :  

```
{
  "Successful": [
      {
          "Name": "AWS-UpdateSSMAgent",
          "InstanceId": "i-1234567890abcdef0",
          "AssociationVersion": "1",
          "Date": 1550504725.007,
          "LastUpdateAssociationDate": 1550504725.007,
          "Status": {
              "Date": 1550504725.007,
              "Name": "Associated",
              "Message": "Associated with AWS-UpdateSSMAgent"
          },
          "Overview": {
              "Status": "Pending",
              "DetailedStatus": "Creating"
          },
          "DocumentVersion": "$DEFAULT",
          "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
          "Targets": [
              {
                  "Key": "InstanceIds",
                  "Values": [
                      "i-1234567890abcdef0"
                  ]
              }
          ]
      },
      {
          "Name": "AWS-UpdateSSMAgent",
          "InstanceId": "i-9876543210abcdef0",
          "AssociationVersion": "1",
          "Date": 1550504725.057,
          "LastUpdateAssociationDate": 1550504725.057,
          "Status": {
              "Date": 1550504725.057,
              "Name": "Associated",
              "Message": "Associated with AWS-UpdateSSMAgent"
          },
          "Overview": {
              "Status": "Pending",
              "DetailedStatus": "Creating"
          },
          "DocumentVersion": "$DEFAULT",
          "AssociationId": "9c9f7f20-5154-4fed-a83e-0123456789ab",
          "Targets": [
              {
                  "Key": "InstanceIds",
                  "Values": [
                      "i-9876543210abcdef0"
                  ]
              }
          ]
      }
  ],
  "Failed": []
}
```
+  Pour plus de détails sur l'API, reportez-vous [CreateAssociationBatch](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/create-association-batch.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple associe un document de configuration à plusieurs instances. La sortie renvoie une liste des opérations réussies et échouées, le cas échéant.**  

```
$option1 = @{InstanceId="i-0cb2b964d3e14fd9f";Name=@("AWS-UpdateSSMAgent")}
$option2 = @{InstanceId="i-0000293ffd8c57862";Name=@("AWS-UpdateSSMAgent")}
New-SSMAssociationFromBatch -Entry $option1,$option2
```
**Sortie** :  

```
Failed  Successful
------  ----------
{}      {Amazon.SimpleSystemsManagement.Model.FailedCreateAssociation, Amazon.SimpleSystemsManagement.Model.FailedCreateAsso...
```
**Exemple 2 : cet exemple montre tous les détails d’une opération réussie.**  

```
$option1 = @{InstanceId="i-0cb2b964d3e14fd9f";Name=@("AWS-UpdateSSMAgent")}
$option2 = @{InstanceId="i-0000293ffd8c57862";Name=@("AWS-UpdateSSMAgent")}
(New-SSMAssociationFromBatch -Entry $option1,$option2).Successful
```
+  Pour plus de détails sur l'API, reportez-vous [CreateAssociationBatch](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple associe un document de configuration à plusieurs instances. La sortie renvoie une liste des opérations réussies et échouées, le cas échéant.**  

```
$option1 = @{InstanceId="i-0cb2b964d3e14fd9f";Name=@("AWS-UpdateSSMAgent")}
$option2 = @{InstanceId="i-0000293ffd8c57862";Name=@("AWS-UpdateSSMAgent")}
New-SSMAssociationFromBatch -Entry $option1,$option2
```
**Sortie** :  

```
Failed  Successful
------  ----------
{}      {Amazon.SimpleSystemsManagement.Model.FailedCreateAssociation, Amazon.SimpleSystemsManagement.Model.FailedCreateAsso...
```
**Exemple 2 : cet exemple montre tous les détails d’une opération réussie.**  

```
$option1 = @{InstanceId="i-0cb2b964d3e14fd9f";Name=@("AWS-UpdateSSMAgent")}
$option2 = @{InstanceId="i-0000293ffd8c57862";Name=@("AWS-UpdateSSMAgent")}
(New-SSMAssociationFromBatch -Entry $option1,$option2).Successful
```
+  Pour plus de détails sur l'API, reportez-vous [CreateAssociationBatch](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `CreateDocument` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_CreateDocument_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreateDocument`.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant : 
+  [Principes de base](ssm_example_ssm_Scenario_section.md) 

------
#### [ CLI ]

**AWS CLI**  
**Pour créer un document**  
L’exemple `create-document` suivant crée un document Systems Manager.  

```
aws ssm create-document \
    --content file://exampleDocument.yml \
    --name "Example" \
    --document-type "Automation" \
    --document-format YAML
```
Sortie :  

```
{
    "DocumentDescription": {
        "Hash": "fc2410281f40779e694a8b95975d0f9f316da8a153daa94e3d9921102EXAMPLE",
        "HashType": "Sha256",
        "Name": "Example",
        "Owner": "29884EXAMPLE",
        "CreatedDate": 1583256349.452,
        "Status": "Creating",
        "DocumentVersion": "1",
        "Description": "Document Example",
        "Parameters": [
            {
                "Name": "AutomationAssumeRole",
                "Type": "String",
                "Description": "(Required) The ARN of the role that allows Automation to perform the actions on your behalf. If no role is specified, Systems Manager Automation uses your IAM permissions to execute this document.",
                "DefaultValue": ""
            },
            {
                "Name": "InstanceId",
                "Type": "String",
                "Description": "(Required) The ID of the Amazon EC2 instance.",
                "DefaultValue": ""
            }
        ],
        "PlatformTypes": [
            "Windows",
            "Linux"
        ],
        "DocumentType": "Automation",
        "SchemaVersion": "0.3",
        "LatestVersion": "1",
        "DefaultVersion": "1",
        "DocumentFormat": "YAML",
        "Tags": []
    }
}
```
Pour plus d’informations, consultez [Création de documents Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-doc.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [CreateDocument](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/create-document.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Creates an AWS SSM document asynchronously.
     *
     * @param docName The name of the document to create.
     * <p>
     * This method initiates an asynchronous request to create an SSM document.
     * If the request is successful, it prints the document status.
     * If an exception occurs, it handles the error appropriately.
     */
    public void createSSMDoc(String docName) throws SsmException {
        String jsonData = """
        {
        "schemaVersion": "2.2",
        "description": "Run a simple shell command",
        "mainSteps": [
            {
                "action": "aws:runShellScript",
                "name": "runEchoCommand",
                "inputs": {
                  "runCommand": [
                    "echo 'Hello, world!'"
                  ]
                }
              }
            ]
        }
        """;

        CreateDocumentRequest request = CreateDocumentRequest.builder()
                .content(jsonData)
                .name(docName)
                .documentType(DocumentType.COMMAND)
                .build();

        CompletableFuture<CreateDocumentResponse> future = getAsyncClient().createDocument(request);
        future.thenAccept(response -> {
            System.out.println("The status of the SSM document is " + response.documentDescription().status());
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof DocumentAlreadyExistsException) {
                throw new CompletionException(cause);
            } else if (cause instanceof SsmException) {
                throw new CompletionException(cause);
            } else {
                throw new RuntimeException(cause);
            }
        }).join();
    }
```
+  Pour plus de détails sur l'API, reportez-vous [CreateDocument](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/CreateDocument)à la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { CreateDocumentCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Create an SSM document.
 * @param {{ content: string, name: string, documentType?: DocumentType }}
 */
export const main = async ({ content, name, documentType }) => {
  const client = new SSMClient({});
  try {
    const { documentDescription } = await client.send(
      new CreateDocumentCommand({
        Content: content, // The content for the new SSM document. The content must not exceed 64KB.
        Name: name,
        DocumentType: documentType, // Document format type can be JSON, YAML, or TEXT. The default format is JSON.
      }),
    );
    console.log("Document created successfully.");
    return { DocumentDescription: documentDescription };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "DocumentAlreadyExists") {
      console.warn(`${caught.message}. Did you provide a new document name?`);
    } else {
      throw caught;
    }
  }
};
```
+  Pour plus de détails sur l'API, reportez-vous [CreateDocument](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/CreateDocumentCommand)à la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple crée un document dans votre compte. Le document doit être au format JSON. Pour plus d’informations sur la rédaction d’un document de configuration, consultez Document de configuration dans la Référence d’API SSM.**  

```
New-SSMDocument -Content (Get-Content -Raw "c:\temp\RunShellScript.json") -Name "RunShellScript" -DocumentType "Command"
```
**Sortie** :  

```
CreatedDate     : 3/1/2017 1:21:33 AM
DefaultVersion  : 1
Description     : Run an updated script
DocumentType    : Command
DocumentVersion : 1
Hash            : 1d5ce820e999ff051eb4841ed887593daf77120fd76cae0d18a53cc42e4e22c1
HashType        : Sha256
LatestVersion   : 1
Name            : RunShellScript
Owner           : 809632081692
Parameters      : {commands}
PlatformTypes   : {Linux}
SchemaVersion   : 2.0
Sha1            :
Status          : Creating
```
+  Pour plus de détails sur l'API, reportez-vous [CreateDocument](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple crée un document dans votre compte. Le document doit être au format JSON. Pour plus d’informations sur la rédaction d’un document de configuration, consultez Document de configuration dans la Référence d’API SSM.**  

```
New-SSMDocument -Content (Get-Content -Raw "c:\temp\RunShellScript.json") -Name "RunShellScript" -DocumentType "Command"
```
**Sortie** :  

```
CreatedDate     : 3/1/2017 1:21:33 AM
DefaultVersion  : 1
Description     : Run an updated script
DocumentType    : Command
DocumentVersion : 1
Hash            : 1d5ce820e999ff051eb4841ed887593daf77120fd76cae0d18a53cc42e4e22c1
HashType        : Sha256
LatestVersion   : 1
Name            : RunShellScript
Owner           : 809632081692
Parameters      : {commands}
PlatformTypes   : {Linux}
SchemaVersion   : 2.0
Sha1            :
Status          : Creating
```
+  Pour plus de détails sur l'API, reportez-vous [CreateDocument](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class DocumentWrapper:
    """Encapsulates AWS Systems Manager Document actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def create(self, content, name):
        """
        Creates a document.

        :param content: The content of the document.
        :param name: The name of the document.
        """
        try:
            self.ssm_client.create_document(
                Name=name, Content=content, DocumentType="Command"
            )
            self.name = name
        except self.ssm_client.exceptions.DocumentAlreadyExists:
            print(f"Document {name} already exists.")
            self.name = name
        except ClientError as err:
            logger.error(
                "Couldn't create %s. Here's why: %s: %s",
                name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [CreateDocument](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/CreateDocument)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        lo_ssm->createdocument(
            iv_name = iv_name
            iv_content = iv_content
            iv_documenttype = 'Command' ).
        MESSAGE 'Document created.' TYPE 'I'.
      CATCH /aws1/cx_ssmdocalreadyexists.
        MESSAGE 'Document already exists.' TYPE 'I'.
      CATCH /aws1/cx_ssminvaliddoccontent.
        MESSAGE 'Invalid document content.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [CreateDocument](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation `CreateMaintenanceWindow` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_CreateMaintenanceWindow_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreateMaintenanceWindow`.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant : 
+  [Principes de base](ssm_example_ssm_Scenario_section.md) 

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : création d’une fenêtre de maintenance**  
L’exemple `create-maintenance-window` suivant crée une nouvelle fenêtre de maintenance qui s’exécute toutes les cinq minutes pendant une durée maximale de deux heures (selon les besoins), empêche le démarrage de nouvelles tâches dans l’heure qui suit la fin de l’exécution de la fenêtre de maintenance, autorise les cibles non associées (instances que vous n’avez pas enregistrées avec la fenêtre de maintenance) et indique, par le biais de balises personnalisées, que son créateur a l’intention de l’utiliser dans le cadre d’un tutoriel.  

```
aws ssm create-maintenance-window \
    --name "My-Tutorial-Maintenance-Window" \
    --schedule "rate(5 minutes)" \
    --duration 2 --cutoff 1 \
    --allow-unassociated-targets \
    --tags "Key=Purpose,Value=Tutorial"
```
Sortie :  

```
{
    "WindowId": "mw-0c50858d01EXAMPLE"
}
```
**Exemple 2 : pour créer une fenêtre de maintenance qui ne s’exécute qu’une seule fois**  
L’exemple `create-maintenance-window` suivant crée une nouvelle fenêtre de maintenance qui ne s’exécute qu’une seule fois à la date et à l’heure spécifiées.  

```
aws ssm create-maintenance-window \
    --name My-One-Time-Maintenance-Window \
    --schedule "at(2020-05-14T15:55:00)" \
    --duration 5 \
    --cutoff 2 \
    --allow-unassociated-targets \
    --tags "Key=Environment,Value=Production"
```
Sortie :  

```
{
    "WindowId": "mw-01234567890abcdef"
}
```
Pour plus d’informations, consultez [Fenêtres de maintenance](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [CreateMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/create-maintenance-window.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Creates an SSM maintenance window asynchronously.
     *
     * @param winName The name of the maintenance window.
     * @return The ID of the created or existing maintenance window.
     * <p>
     * This method initiates an asynchronous request to create an SSM maintenance window.
     * If the request is successful, it prints the maintenance window ID.
     * If an exception occurs, it handles the error appropriately.
     */
    public String createMaintenanceWindow(String winName) throws SsmException, DocumentAlreadyExistsException {
        CreateMaintenanceWindowRequest request = CreateMaintenanceWindowRequest.builder()
                .name(winName)
                .description("This is my maintenance window")
                .allowUnassociatedTargets(true)
                .duration(2)
                .cutoff(1)
                .schedule("cron(0 10 ? * MON-FRI *)")
                .build();

        CompletableFuture<CreateMaintenanceWindowResponse> future = getAsyncClient().createMaintenanceWindow(request);
        final String[] windowId = {null};
        future.whenComplete((response, ex) -> {
            if (response != null) {
                String maintenanceWindowId = response.windowId();
                System.out.println("The maintenance window id is " + maintenanceWindowId);
                windowId[0] = maintenanceWindowId;
            } else {
                Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
                if (cause instanceof DocumentAlreadyExistsException) {
                    throw new CompletionException(cause);
                } else if (cause instanceof SsmException) {
                    throw new CompletionException(cause);
                } else {
                    throw new RuntimeException(cause);
                }
            }
        }).join();

        if (windowId[0] == null) {
            MaintenanceWindowFilter filter = MaintenanceWindowFilter.builder()
                    .key("name")
                    .values(winName)
                    .build();

            DescribeMaintenanceWindowsRequest winRequest = DescribeMaintenanceWindowsRequest.builder()
                    .filters(filter)
                    .build();

            CompletableFuture<DescribeMaintenanceWindowsResponse> describeFuture = getAsyncClient().describeMaintenanceWindows(winRequest);
            describeFuture.whenComplete((describeResponse, describeEx) -> {
                if (describeResponse != null) {
                    List<MaintenanceWindowIdentity> windows = describeResponse.windowIdentities();
                    if (!windows.isEmpty()) {
                        windowId[0] = windows.get(0).windowId();
                        System.out.println("Window ID: " + windowId[0]);
                    } else {
                        System.out.println("Window not found.");
                        windowId[0] = "";
                    }
                } else {
                    Throwable describeCause = (describeEx instanceof CompletionException) ? describeEx.getCause() : describeEx;
                    throw new RuntimeException("Error describing maintenance windows: " + describeCause.getMessage(), describeCause);
                }
            }).join();
        }

        return windowId[0];
    }
```
+  Pour plus de détails sur l'API, reportez-vous [CreateMaintenanceWindow](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/CreateMaintenanceWindow)à la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { CreateMaintenanceWindowCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Create an SSM maintenance window.
 * @param {{ name: string, allowUnassociatedTargets: boolean, duration: number, cutoff: number, schedule: string, description?: string }}
 */
export const main = async ({
  name,
  allowUnassociatedTargets, // Allow the maintenance window to run on managed nodes, even if you haven't registered those nodes as targets.
  duration, // The duration of the maintenance window in hours.
  cutoff, // The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.
  schedule, // The schedule of the maintenance window in the form of a cron or rate expression.
  description = undefined,
}) => {
  const client = new SSMClient({});

  try {
    const { windowId } = await client.send(
      new CreateMaintenanceWindowCommand({
        Name: name,
        Description: description,
        AllowUnassociatedTargets: allowUnassociatedTargets, // Allow the maintenance window to run on managed nodes, even if you haven't registered those nodes as targets.
        Duration: duration, // The duration of the maintenance window in hours.
        Cutoff: cutoff, // The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling new tasks for execution.
        Schedule: schedule, // The schedule of the maintenance window in the form of a cron or rate expression.
      }),
    );
    console.log(`Maintenance window created with Id: ${windowId}`);
    return { WindowId: windowId };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "MissingParameter") {
      console.warn(`${caught.message}. Did you provide these values?`);
    } else {
      throw caught;
    }
  }
};
```
+  Pour plus de détails sur l'API, reportez-vous [CreateMaintenanceWindow](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/CreateMaintenanceWindowCommand)à la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple crée une nouvelle fenêtre de maintenance portant le nom spécifié, qui s’exécute tous les mardis à 16 heures pendant 4 heures, avec une coupure d’une heure, et qui autorise les cibles non associées.**  

```
New-SSMMaintenanceWindow -Name "MyMaintenanceWindow" -Duration 4 -Cutoff 1 -AllowUnassociatedTarget $true -Schedule "cron(0 16 ? * TUE *)"
```
**Sortie** :  

```
mw-03eb53e1ea7383998
```
+  Pour plus de détails sur l'API, reportez-vous [CreateMaintenanceWindow](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple crée une nouvelle fenêtre de maintenance portant le nom spécifié, qui s’exécute tous les mardis à 16 heures pendant 4 heures, avec une coupure d’une heure, et qui autorise les cibles non associées.**  

```
New-SSMMaintenanceWindow -Name "MyMaintenanceWindow" -Duration 4 -Cutoff 1 -AllowUnassociatedTarget $true -Schedule "cron(0 16 ? * TUE *)"
```
**Sortie** :  

```
mw-03eb53e1ea7383998
```
+  Pour plus de détails sur l'API, reportez-vous [CreateMaintenanceWindow](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class MaintenanceWindowWrapper:
    """Encapsulates AWS Systems Manager maintenance window actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.window_id = None
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def create(self, name, schedule, duration, cutoff, allow_unassociated_targets):
        """
        Create an AWS Systems Manager maintenance window.

        :param name: The name of the maintenance window.
        :param schedule: The schedule of the maintenance window.
        :param duration: The duration of the maintenance window.
        :param cutoff: The cutoff time of the maintenance window.
        :param allow_unassociated_targets: Allow the maintenance window to run on managed nodes, even
                                           if you haven't registered those nodes as targets.
        """
        try:
            response = self.ssm_client.create_maintenance_window(
                Name=name,
                Schedule=schedule,
                Duration=duration,
                Cutoff=cutoff,
                AllowUnassociatedTargets=allow_unassociated_targets,
            )
            self.window_id = response["WindowId"]
            self.name = name
            logger.info("Created maintenance window %s.", self.window_id)
        except ParamValidationError as error:
            logger.error(
                "Parameter validation error when trying to create maintenance window %s. Here's why: %s",
                self.window_id,
                error,
            )
            raise
        except ClientError as err:
            logger.error(
                "Couldn't create maintenance window %s. Here's why: %s: %s",
                name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [CreateMaintenanceWindow](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/CreateMaintenanceWindow)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        oo_result = lo_ssm->createmaintenancewindow(
            iv_name = iv_name
            iv_schedule = iv_schedule
            iv_duration = iv_duration
            iv_cutoff = iv_cutoff
            iv_allowunassociatedtargets = iv_allow_unassociated_targets ).
        MESSAGE 'Maintenance window created.' TYPE 'I'.
      CATCH /aws1/cx_ssmresrclimitexcdex.
        MESSAGE 'Resource limit exceeded.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [CreateMaintenanceWindow](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation `CreateOpsItem` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_CreateOpsItem_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreateOpsItem`.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant : 
+  [Principes de base](ssm_example_ssm_Scenario_section.md) 

------
#### [ CLI ]

**AWS CLI**  
**Pour créer un OpsItems**  
L'`create-ops-item`exemple suivant utilise la clé /aws/resources OperationalData pour créer un OpsItem avec une ressource associée à Amazon DynamoDB.  

```
aws ssm create-ops-item \
    --title "EC2 instance disk full" \
    --description "Log clean up may have failed which caused the disk to be full" \
    --priority 2 \
    --source ec2 \
    --operational-data '{"/aws/resources":{"Value":"[{\"arn\": \"arn:aws:dynamodb:us-west-2:12345678:table/OpsItems\"}]","Type":"SearchableString"}}' \
    --notifications Arn="arn:aws:sns:us-west-2:12345678:TestUser"
```
Sortie :  

```
{
    "OpsItemId": "oi-1a2b3c4d5e6f"
}
```
Pour plus d'informations, voir [Creating OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html) in the *AWS Systems Manager User Guide*.  
+  Pour plus de détails sur l'API, reportez-vous [CreateOpsItem](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/create-ops-item.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Creates an SSM OpsItem asynchronously.
     *
     * @param title The title of the OpsItem.
     * @param source The source of the OpsItem.
     * @param category The category of the OpsItem.
     * @param severity The severity of the OpsItem.
     * @return The ID of the created OpsItem.
     * <p>
     * This method initiates an asynchronous request to create an SSM OpsItem.
     * If the request is successful, it returns the OpsItem ID.
     * If an exception occurs, it handles the error appropriately.
     */
    public String createSSMOpsItem(String title, String source, String category, String severity) {
        CreateOpsItemRequest opsItemRequest = CreateOpsItemRequest.builder()
                .description("Created by the SSM Java API")
                .title(title)
                .source(source)
                .category(category)
                .severity(severity)
                .build();

        CompletableFuture<CreateOpsItemResponse> future = getAsyncClient().createOpsItem(opsItemRequest);

        try {
            CreateOpsItemResponse response = future.join();
            return response.opsItemId();
        } catch (CompletionException e) {
            Throwable cause = e.getCause();
            if (cause instanceof SsmException) {
                throw (SsmException) cause;
            } else {
                throw new RuntimeException(cause);
            }
        }
    }
```
+  Pour plus de détails sur l'API, voir [CreateOpsItem](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/CreateOpsItem)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { CreateOpsItemCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Create an SSM OpsItem.
 * @param {{ title: string, source: string, category?: string, severity?: string }}
 */
export const main = async ({
  title,
  source,
  category = undefined,
  severity = undefined,
}) => {
  const client = new SSMClient({});
  try {
    const { opsItemArn, opsItemId } = await client.send(
      new CreateOpsItemCommand({
        Title: title,
        Source: source, // The origin of the OpsItem, such as Amazon EC2 or Systems Manager.
        Category: category,
        Severity: severity,
      }),
    );
    console.log(`Ops item created with id: ${opsItemId}`);
    return { OpsItemArn: opsItemArn, OpsItemId: opsItemId };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "MissingParameter") {
      console.warn(`${caught.message}. Did you provide these values?`);
    } else {
      throw caught;
    }
  }
};
```
+  Pour plus de détails sur l'API, voir [CreateOpsItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/CreateOpsItemCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class OpsItemWrapper:
    """Encapsulates AWS Systems Manager OpsItem actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.id = None

    @classmethod
    def from_client(cls):
        """
        :return: A OpsItemWrapper instance.
        """
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def create(self, title, source, category, severity, description):
        """
        Create an OpsItem

        :param title: The OpsItem title.
        :param source: The OpsItem source.
        :param category: The OpsItem category.
        :param severity: The OpsItem severity.
        :param description: The OpsItem description.

        """
        try:
            response = self.ssm_client.create_ops_item(
                Title=title,
                Source=source,
                Category=category,
                Severity=severity,
                Description=description,
            )
            self.id = response["OpsItemId"]
        except self.ssm_client.exceptions.OpsItemLimitExceededException as err:
            logger.error(
                "Couldn't create ops item because you have exceeded your open OpsItem limit. "
                "Here's why: %s: %s",
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
        except ClientError as err:
            logger.error(
                "Couldn't create ops item %s. Here's why: %s: %s",
                title,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [CreateOpsItem](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/CreateOpsItem)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        oo_result = lo_ssm->createopsitem(
            iv_title = iv_title
            iv_source = iv_source
            iv_category = iv_category
            iv_severity = iv_severity
            iv_description = iv_description ).
        MESSAGE 'OpsItem created.' TYPE 'I'.
      CATCH /aws1/cx_ssmopsitemlimitexcdex.
        MESSAGE 'You have exceeded your open OpsItem limit.' TYPE 'I'.
      CATCH /aws1/cx_ssmopsitemalrdyexex.
        MESSAGE 'OpsItem already exists.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [CreateOpsItem](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation de `CreatePatchBaseline` avec une CLI
<a name="ssm_example_ssm_CreatePatchBaseline_section"></a>

Les exemples de code suivants illustrent comment utiliser `CreatePatchBaseline`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour créer un référentiel de correctifs avec approbation automatique**  
L’exemple `create-patch-baseline` suivant crée un référentiel de correctifs pour Windows Server qui approuve les correctifs pour un environnement de production sept jours après leur publication par Microsoft.  

```
aws ssm create-patch-baseline \
    --name "Windows-Production-Baseline-AutoApproval" \
    --operating-system "WINDOWS" \
    --approval-rules "PatchRules=[{PatchFilterGroup={PatchFilters=[{Key=MSRC_SEVERITY,Values=[Critical,Important,Moderate]},{Key=CLASSIFICATION,Values=[SecurityUpdates,Updates,UpdateRollups,CriticalUpdates]}]},ApproveAfterDays=7}]" \
    --description "Baseline containing all updates approved for Windows Server production systems"
```
Sortie :  

```
{
    "BaselineId": "pb-045f10b4f3EXAMPLE"
}
```
**Exemple 2 : pour créer un référentiel de correctifs avec une date limite d’approbation**  
L’exemple `create-patch-baseline` suivant crée un référentiel de correctifs pour Windows Server qui approuve tous les correctifs pour un environnement de production qui sont publiés au plus tard le 7 juillet 2020.  

```
aws ssm create-patch-baseline \
    --name "Windows-Production-Baseline-AutoApproval" \
    --operating-system "WINDOWS" \
    --approval-rules "PatchRules=[{PatchFilterGroup={PatchFilters=[{Key=MSRC_SEVERITY,Values=[Critical,Important,Moderate]},{Key=CLASSIFICATION,Values=[SecurityUpdates,Updates,UpdateRollups,CriticalUpdates]}]},ApproveUntilDate=2020-07-07}]" \
    --description "Baseline containing all updates approved for Windows Server production systems"
```
Sortie :  

```
{
    "BaselineId": "pb-045f10b4f3EXAMPLE"
}
```
**Exemple 3 : pour créer un référentiel de correctifs avec des règles d’approbation stockées dans un fichier JSON**  
L’exemple `create-patch-baseline` suivant crée un référentiel de correctifs pour Amazon Linux 2017.09 qui approuve les correctifs pour un environnement de production sept jours après leur publication, spécifie des règles d’approbation pour le référentiel de correctifs et spécifie un référentiel personnalisé pour les correctifs.  

```
aws ssm create-patch-baseline \
    --cli-input-json file://my-amazon-linux-approval-rules-and-repo.json
```
Contenu de `my-amazon-linux-approval-rules-and-repo.json` :  

```
{
    "Name": "Amazon-Linux-2017.09-Production-Baseline",
    "Description": "My approval rules patch baseline for Amazon Linux 2017.09 instances",
    "OperatingSystem": "AMAZON_LINUX",
    "Tags": [
        {
            "Key": "Environment",
            "Value": "Production"
        }
    ],
    "ApprovalRules": {
        "PatchRules": [
            {
                "ApproveAfterDays": 7,
                "EnableNonSecurity": true,
                "PatchFilterGroup": {
                    "PatchFilters": [
                        {
                            "Key": "SEVERITY",
                            "Values": [
                                "Important",
                                "Critical"
                            ]
                        },
                        {
                            "Key": "CLASSIFICATION",
                            "Values": [
                                "Security",
                                "Bugfix"
                            ]
                        },
                        {
                            "Key": "PRODUCT",
                            "Values": [
                                "AmazonLinux2017.09"
                            ]
                        }
                    ]
                }
            }
        ]
    },
    "Sources": [
        {
            "Name": "My-AL2017.09",
            "Products": [
                "AmazonLinux2017.09"
            ],
            "Configuration": "[amzn-main] \nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list //nmirrorlist_expire=300//nmetadata_expire=300 \npriority=10 \nfailovermethod=priority \nfastestmirror_enabled=0 \ngpgcheck=1 \ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga \nenabled=1 \nretries=3 \ntimeout=5\nreport_instanceid=yes"
        }
    ]
}
```
**Exemple 4 : pour créer un référentiel de correctifs qui spécifie les correctifs approuvés et rejetés**  
L’exemple `create-patch-baseline` suivant spécifie explicitement les correctifs à approuver et à rejeter en tant qu’exception aux règles d’approbation par défaut.  

```
aws ssm create-patch-baseline \
    --name "Amazon-Linux-2017.09-Alpha-Baseline" \
    --description "My custom approve/reject patch baseline for Amazon Linux 2017.09 instances" \
    --operating-system "AMAZON_LINUX" \
    --approved-patches "CVE-2018-1234567,example-pkg-EE-2018*.amzn1.noarch" \
    --approved-patches-compliance-level "HIGH" \
    --approved-patches-enable-non-security \
    --tags "Key=Environment,Value=Alpha"
```
Pour plus d’informations, consultez [Créer un référentiel de correctifs personnalisé](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-baseline-console.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [CreatePatchBaseline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/create-patch-baseline.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple crée un référentiel de correctifs qui approuve les correctifs, sept jours après qu’ils ont été publiés par Microsoft, pour les instances gérées qui exécutent Windows Server 2019 dans un environnement de production.**  

```
$rule = New-Object Amazon.SimpleSystemsManagement.Model.PatchRule
$rule.ApproveAfterDays = 7

$ruleFilters = New-Object Amazon.SimpleSystemsManagement.Model.PatchFilterGroup

$patchFilter = New-Object Amazon.SimpleSystemsManagement.Model.PatchFilter
$patchFilter.Key="PRODUCT"
$patchFilter.Values="WindowsServer2019"

$severityFilter = New-Object Amazon.SimpleSystemsManagement.Model.PatchFilter
$severityFilter.Key="MSRC_SEVERITY"
$severityFilter.Values.Add("Critical")
$severityFilter.Values.Add("Important")
$severityFilter.Values.Add("Moderate")

$classificationFilter = New-Object Amazon.SimpleSystemsManagement.Model.PatchFilter
$classificationFilter.Key = "CLASSIFICATION"
$classificationFilter.Values.Add( "SecurityUpdates" )
$classificationFilter.Values.Add( "Updates" )
$classificationFilter.Values.Add( "UpdateRollups" )
$classificationFilter.Values.Add( "CriticalUpdates" )

$ruleFilters.PatchFilters.Add($severityFilter)
$ruleFilters.PatchFilters.Add($classificationFilter)
$ruleFilters.PatchFilters.Add($patchFilter)
$rule.PatchFilterGroup = $ruleFilters

New-SSMPatchBaseline -Name "Production-Baseline-Windows2019" -Description "Baseline containing all updates approved for production systems" -ApprovalRules_PatchRule $rule
```
**Sortie** :  

```
pb-0z4z6221c4296b23z
```
+  Pour plus de détails sur l'API, reportez-vous [CreatePatchBaseline](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple crée un référentiel de correctifs qui approuve les correctifs, sept jours après qu’ils ont été publiés par Microsoft, pour les instances gérées qui exécutent Windows Server 2019 dans un environnement de production.**  

```
$rule = New-Object Amazon.SimpleSystemsManagement.Model.PatchRule
$rule.ApproveAfterDays = 7

$ruleFilters = New-Object Amazon.SimpleSystemsManagement.Model.PatchFilterGroup

$patchFilter = New-Object Amazon.SimpleSystemsManagement.Model.PatchFilter
$patchFilter.Key="PRODUCT"
$patchFilter.Values="WindowsServer2019"

$severityFilter = New-Object Amazon.SimpleSystemsManagement.Model.PatchFilter
$severityFilter.Key="MSRC_SEVERITY"
$severityFilter.Values.Add("Critical")
$severityFilter.Values.Add("Important")
$severityFilter.Values.Add("Moderate")

$classificationFilter = New-Object Amazon.SimpleSystemsManagement.Model.PatchFilter
$classificationFilter.Key = "CLASSIFICATION"
$classificationFilter.Values.Add( "SecurityUpdates" )
$classificationFilter.Values.Add( "Updates" )
$classificationFilter.Values.Add( "UpdateRollups" )
$classificationFilter.Values.Add( "CriticalUpdates" )

$ruleFilters.PatchFilters.Add($severityFilter)
$ruleFilters.PatchFilters.Add($classificationFilter)
$ruleFilters.PatchFilters.Add($patchFilter)
$rule.PatchFilterGroup = $ruleFilters

New-SSMPatchBaseline -Name "Production-Baseline-Windows2019" -Description "Baseline containing all updates approved for production systems" -ApprovalRules_PatchRule $rule
```
**Sortie** :  

```
pb-0z4z6221c4296b23z
```
+  Pour plus de détails sur l'API, reportez-vous [CreatePatchBaseline](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DeleteActivation` avec une CLI
<a name="ssm_example_ssm_DeleteActivation_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeleteActivation`.

------
#### [ CLI ]

**AWS CLI**  
**Pour supprimer une activation d’instance gérée**  
L’exemple `delete-activation` suivant supprime l’activation d’une instance gérée.  

```
aws ssm delete-activation \
    --activation-id "aa673477-d926-42c1-8757-1358cEXAMPLE"
```
Cette commande ne produit aucune sortie.  
Pour plus d'informations, consultez la section [Configuration de AWS Systems Manager pour les environnements hybrides](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeleteActivation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/delete-activation.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime une activation. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMActivation -ActivationId "08e51e79-1e36-446c-8e63-9458569c1363"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteActivation](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime une activation. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMActivation -ActivationId "08e51e79-1e36-446c-8e63-9458569c1363"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteActivation](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DeleteAssociation` avec une CLI
<a name="ssm_example_ssm_DeleteAssociation_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeleteAssociation`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour supprimer une association en utilisant l’ID d’association**  
L’exemple `delete-association` suivant supprime l’association pour l’ID d’association spécifié. Il n’y a pas de sortie si la commande réussit.  

```
aws ssm delete-association \
    --association-id "8dfe3659-4309-493a-8755-0123456789ab"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Modifier et créer une nouvelle version d’une association](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc-edit.html) (français non garanti) dans le *AWS Guide de l’utilisateur Systems Manager* (français non garanti).  
**Exemple 2 : pour supprimer une association**  
L’exemple `delete-association` suivant supprime l’association entre une instance et un document. Il n’y a pas de sortie si la commande réussit.  

```
aws ssm delete-association \
    --instance-id "i-1234567890abcdef0" \
    --name "AWS-UpdateSSMAgent"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Utilisation des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-associations.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeleteAssociation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/delete-association.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime l’association entre une instance et un document. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMAssociation -InstanceId "i-0cb2b964d3e14fd9f" -Name "AWS-UpdateSSMAgent"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteAssociation](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime l’association entre une instance et un document. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMAssociation -InstanceId "i-0cb2b964d3e14fd9f" -Name "AWS-UpdateSSMAgent"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteAssociation](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `DeleteDocument` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_DeleteDocument_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeleteDocument`.

------
#### [ CLI ]

**AWS CLI**  
**Pour supprimer un document**  
L’exemple `delete-document` suivant supprime un document Systems Manager.  

```
aws ssm delete-document \
    --name "Example"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Création de documents Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-doc.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeleteDocument](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/delete-document.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Deletes an AWS SSM document asynchronously.
     *
     * @param documentName The name of the document to delete.
     * <p>
     * This method initiates an asynchronous request to delete an SSM document.
     * If an exception occurs, it handles the error appropriately.
     */
    public void deleteDoc(String documentName) {
        DeleteDocumentRequest documentRequest = DeleteDocumentRequest.builder()
                .name(documentName)
                .build();

        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            getAsyncClient().deleteDocument(documentRequest)
                    .thenAccept(response -> {
                        System.out.println("The SSM document was successfully deleted.");
                    })
                    .exceptionally(ex -> {
                        throw new CompletionException(ex);
                    }).join();
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }
```
+  Pour plus de détails sur l'API, voir [DeleteDocument](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/DeleteDocument)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { DeleteDocumentCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Delete an SSM document.
 * @param {{ documentName: string }}
 */
export const main = async ({ documentName }) => {
  const client = new SSMClient({});
  try {
    await client.send(new DeleteDocumentCommand({ Name: documentName }));
    console.log(`Document '${documentName}' deleted.`);
    return { Deleted: true };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "MissingParameter") {
      console.warn(`${caught.message}. Did you provide this value?`);
    } else {
      throw caught;
    }
  }
};
```
+  Pour plus de détails sur l'API, voir [DeleteDocument](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/DeleteDocumentCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime un document. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMDocument -Name "RunShellScript"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteDocument](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime un document. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMDocument -Name "RunShellScript"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteDocument](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class DocumentWrapper:
    """Encapsulates AWS Systems Manager Document actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def delete(self):
        """
        Deletes an AWS Systems Manager document.
        """
        if self.name is None:
            return

        try:
            self.ssm_client.delete_document(Name=self.name)
            print(f"Deleted document {self.name}.")
            self.name = None
        except ClientError as err:
            logger.error(
                "Couldn't delete %s. Here's why: %s: %s",
                self.name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [DeleteDocument](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/DeleteDocument)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        lo_ssm->deletedocument( iv_name = iv_name ).
        MESSAGE 'Document deleted.' TYPE 'I'.
      CATCH /aws1/cx_ssminvaliddocument.
        MESSAGE 'Invalid document.' TYPE 'I'.
      CATCH /aws1/cx_ssmassocdinstances.
        MESSAGE 'Document has associated instances.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [DeleteDocument](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation `DeleteMaintenanceWindow` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_DeleteMaintenanceWindow_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeleteMaintenanceWindow`.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant : 
+  [Principes de base](ssm_example_ssm_Scenario_section.md) 

------
#### [ CLI ]

**AWS CLI**  
**Pour supprimer une fenêtre de maintenance**  
Cet exemple `delete-maintenance-window` supprime la fenêtre de maintenance spécifiée.  

```
aws ssm delete-maintenance-window \
    --window-id "mw-1a2b3c4d5e6f7g8h9"
```
Sortie :  

```
{
    "WindowId":"mw-1a2b3c4d5e6f7g8h9"
}
```
Pour plus d'informations, voir [Supprimer une fenêtre de maintenance (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-delete-mw.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeleteMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/delete-maintenance-window.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Deletes an AWS SSM Maintenance Window asynchronously.
     *
     * @param winId The ID of the Maintenance Window to delete.
     * <p>
     * This method initiates an asynchronous request to delete an SSM Maintenance Window.
     * If an exception occurs, it handles the error appropriately.
     */
    public void deleteMaintenanceWindow(String winId) {
        DeleteMaintenanceWindowRequest windowRequest = DeleteMaintenanceWindowRequest.builder()
                .windowId(winId)
                .build();

        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            getAsyncClient().deleteMaintenanceWindow(windowRequest)
                    .thenAccept(response -> {
                        System.out.println("The maintenance window was successfully deleted.");
                    })
                    .exceptionally(ex -> {
                        throw new CompletionException(ex);
                    }).join();
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }
```
+  Pour plus de détails sur l'API, voir [DeleteMaintenanceWindow](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/DeleteMaintenanceWindow)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { DeleteMaintenanceWindowCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Delete an SSM maintenance window.
 * @param {{ windowId: string }}
 */
export const main = async ({ windowId }) => {
  const client = new SSMClient({});
  try {
    await client.send(
      new DeleteMaintenanceWindowCommand({ WindowId: windowId }),
    );
    console.log(`Maintenance window '${windowId}' deleted.`);
    return { Deleted: true };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "MissingParameter") {
      console.warn(`${caught.message}. Did you provide this value?`);
    } else {
      throw caught;
    }
  }
};
```
+  Pour plus de détails sur l'API, voir [DeleteMaintenanceWindow](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/DeleteMaintenanceWindowCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime une fenêtre de maintenance.**  

```
Remove-SSMMaintenanceWindow -WindowId "mw-06d59c1a07c022145"
```
**Sortie** :  

```
mw-06d59c1a07c022145
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteMaintenanceWindow](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime une fenêtre de maintenance.**  

```
Remove-SSMMaintenanceWindow -WindowId "mw-06d59c1a07c022145"
```
**Sortie** :  

```
mw-06d59c1a07c022145
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteMaintenanceWindow](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class MaintenanceWindowWrapper:
    """Encapsulates AWS Systems Manager maintenance window actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.window_id = None
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def delete(self):
        """
        Delete the associated AWS Systems Manager maintenance window.
        """
        if self.window_id is None:
            return

        try:
            self.ssm_client.delete_maintenance_window(WindowId=self.window_id)
            logger.info("Deleted maintenance window %s.", self.window_id)
            print(f"Deleted maintenance window {self.name}")
            self.window_id = None
        except ClientError as err:
            logger.error(
                "Couldn't delete maintenance window %s. Here's why: %s: %s",
                self.window_id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [DeleteMaintenanceWindow](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/DeleteMaintenanceWindow)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        lo_ssm->deletemaintenancewindow( iv_windowid = iv_window_id ).
        MESSAGE 'Maintenance window deleted.' TYPE 'I'.
      CATCH /aws1/cx_ssminternalservererr.
        MESSAGE 'Internal server error occurred.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [DeleteMaintenanceWindow](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation `DeleteOpsItem` avec un AWS SDK
<a name="ssm_example_ssm_DeleteOpsItem_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeleteOpsItem`.

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class OpsItemWrapper:
    """Encapsulates AWS Systems Manager OpsItem actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.id = None

    @classmethod
    def from_client(cls):
        """
        :return: A OpsItemWrapper instance.
        """
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def delete(self):
        """
        Delete the OpsItem.
        """
        if self.id is None:
            return
        try:
            self.ssm_client.delete_ops_item(OpsItemId=self.id)
            print(f"Deleted ops item with id {self.id}")
            self.id = None
        except ClientError as err:
            logger.error(
                "Couldn't delete ops item %s. Here's why: %s: %s",
                self.id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [DeleteOpsItem](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/DeleteOpsItem)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        lo_ssm->deleteopsitem( iv_opsitemid = iv_ops_item_id ).
        MESSAGE 'OpsItem deleted.' TYPE 'I'.
      CATCH /aws1/cx_ssmopsiteminvparamex.
        MESSAGE 'Invalid OpsItem parameter.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [DeleteOpsItem](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation de `DeleteParameter` avec une CLI
<a name="ssm_example_ssm_DeleteParameter_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeleteParameter`.

------
#### [ CLI ]

**AWS CLI**  
**Pour supprimer un paramètre**  
L’exemple `delete-parameter` suivant supprime le paramètre unique spécifié.  

```
aws ssm delete-parameter \
    --name "MyParameter"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Utilisation de magasins de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-working-with.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeleteParameter](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/delete-parameter.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime un paramètre. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMParameter -Name "helloWorld"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteParameter](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime un paramètre. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMParameter -Name "helloWorld"
```
+  Pour plus de détails sur l'API, reportez-vous [DeleteParameter](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DeletePatchBaseline` avec une CLI
<a name="ssm_example_ssm_DeletePatchBaseline_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeletePatchBaseline`.

------
#### [ CLI ]

**AWS CLI**  
**Pour supprimer un référentiel de correctifs**  
L’exemple `delete-patch-baseline` suivant supprime le référentiel de correctifs spécifié.  

```
aws ssm delete-patch-baseline \
    --baseline-id "pb-045f10b4f382baeda"
```
Sortie :  

```
{
    "BaselineId": "pb-045f10b4f382baeda"
}
```
Pour plus d’informations, consultez [Mettre à jour ou supprimer un référentiel de correctifs (console)](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-baseline-update-or-delete.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeletePatchBaseline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/delete-patch-baseline.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime un référentiel de correctifs.**  

```
Remove-SSMPatchBaseline -BaselineId "pb-045f10b4f382baeda"
```
**Sortie** :  

```
pb-045f10b4f382baeda
```
+  Pour plus de détails sur l'API, reportez-vous [DeletePatchBaseline](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime un référentiel de correctifs.**  

```
Remove-SSMPatchBaseline -BaselineId "pb-045f10b4f382baeda"
```
**Sortie** :  

```
pb-045f10b4f382baeda
```
+  Pour plus de détails sur l'API, reportez-vous [DeletePatchBaseline](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DeregisterManagedInstance` avec une CLI
<a name="ssm_example_ssm_DeregisterManagedInstance_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeregisterManagedInstance`.

------
#### [ CLI ]

**AWS CLI**  
**Pour désenregistrer une instance gérée**  
L’exemple `deregister-managed-instance` suivant désenregistre l’instance gérée spécifiée.  

```
aws ssm deregister-managed-instance \
    --instance-id 'mi-08ab247cdfEXAMPLE'
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Désenregistrer des nœuds gérés dans un environnement hybride et multicloud](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-deregister-hybrid-nodes.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeregisterManagedInstance](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/deregister-managed-instance.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple désenregistre une instance gérée. Il n’y a pas de sortie si la commande réussit.**  

```
Unregister-SSMManagedInstance -InstanceId "mi-08ab247cdf1046573"
```
+  Pour plus de détails sur l'API, reportez-vous [DeregisterManagedInstance](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple désenregistre une instance gérée. Il n’y a pas de sortie si la commande réussit.**  

```
Unregister-SSMManagedInstance -InstanceId "mi-08ab247cdf1046573"
```
+  Pour plus de détails sur l'API, reportez-vous [DeregisterManagedInstance](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DeregisterPatchBaselineForPatchGroup` avec une CLI
<a name="ssm_example_ssm_DeregisterPatchBaselineForPatchGroup_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeregisterPatchBaselineForPatchGroup`.

------
#### [ CLI ]

**AWS CLI**  
**Pour annuler l’enregistrement d’un groupe de correctifs à partir d’un référentiel de correctifs**  
L’exemple `deregister-patch-baseline-for-patch-group` suivant désenregistre le groupe de correctifs spécifié du référentiel de correctifs spécifié.  

```
aws ssm deregister-patch-baseline-for-patch-group \
    --patch-group "Production" \
    --baseline-id "pb-0ca44a362fEXAMPLE"
```
Sortie :  

```
{
  "PatchGroup":"Production",
  "BaselineId":"pb-0ca44a362fEXAMPLE"
}
```
Pour plus d’informations, consultez [Ajouter un groupe de correctifs à un référentiel de correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-group-patchbaseline.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeregisterPatchBaselineForPatchGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/deregister-patch-baseline-for-patch-group.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple désenregistre un groupe de correctifs d’un référentiel de correctifs.**  

```
Unregister-SSMPatchBaselineForPatchGroup -BaselineId "pb-045f10b4f382baeda" -PatchGroup "Production"
```
**Sortie** :  

```
BaselineId           PatchGroup
----------           ----------
pb-045f10b4f382baeda Production
```
+  Pour plus de détails sur l'API, reportez-vous [DeregisterPatchBaselineForPatchGroup](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple désenregistre un groupe de correctifs d’un référentiel de correctifs.**  

```
Unregister-SSMPatchBaselineForPatchGroup -BaselineId "pb-045f10b4f382baeda" -PatchGroup "Production"
```
**Sortie** :  

```
BaselineId           PatchGroup
----------           ----------
pb-045f10b4f382baeda Production
```
+  Pour plus de détails sur l'API, reportez-vous [DeregisterPatchBaselineForPatchGroup](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DeregisterTargetFromMaintenanceWindow` avec une CLI
<a name="ssm_example_ssm_DeregisterTargetFromMaintenanceWindow_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeregisterTargetFromMaintenanceWindow`.

------
#### [ CLI ]

**AWS CLI**  
**Pour supprimer une cible d’une fenêtre de maintenance**  
L’exemple `deregister-target-from-maintenance-window` suivant supprime la cible spécifiée de la fenêtre de maintenance spécifiée.  

```
aws ssm deregister-target-from-maintenance-window \
    --window-id "mw-ab12cd34ef56gh78" \
    --window-target-id "1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2"
```
Sortie :  

```
{
    "WindowId":"mw-ab12cd34ef56gh78",
    "WindowTargetId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2"
}
```
Pour plus d'informations, voir [Mettre à jour une fenêtre de maintenance (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-cli-tutorials-update.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeregisterTargetFromMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/deregister-target-from-maintenance-window.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime une cible d’une fenêtre de maintenance.**  

```
Unregister-SSMTargetFromMaintenanceWindow -WindowTargetId "6ab5c208-9fc4-4697-84b7-b02a6cc25f7d" -WindowId "mw-06cf17cbefcb4bf4f"
```
**Sortie** :  

```
WindowId             WindowTargetId
--------             --------------
mw-06cf17cbefcb4bf4f 6ab5c208-9fc4-4697-84b7-b02a6cc25f7d
```
+  Pour plus de détails sur l'API, reportez-vous [DeregisterTargetFromMaintenanceWindow](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime une cible d’une fenêtre de maintenance.**  

```
Unregister-SSMTargetFromMaintenanceWindow -WindowTargetId "6ab5c208-9fc4-4697-84b7-b02a6cc25f7d" -WindowId "mw-06cf17cbefcb4bf4f"
```
**Sortie** :  

```
WindowId             WindowTargetId
--------             --------------
mw-06cf17cbefcb4bf4f 6ab5c208-9fc4-4697-84b7-b02a6cc25f7d
```
+  Pour plus de détails sur l'API, reportez-vous [DeregisterTargetFromMaintenanceWindow](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DeregisterTaskFromMaintenanceWindow` avec une CLI
<a name="ssm_example_ssm_DeregisterTaskFromMaintenanceWindow_section"></a>

Les exemples de code suivants illustrent comment utiliser `DeregisterTaskFromMaintenanceWindow`.

------
#### [ CLI ]

**AWS CLI**  
**Pour supprimer une tâche d’une fenêtre de maintenance**  
L’exemple `deregister-task-from-maintenance-window` suivant supprime la tâche spécifiée de la fenêtre de maintenance spécifiée.  

```
aws ssm deregister-task-from-maintenance-window \
    --window-id "mw-ab12cd34ef56gh78" \
    --window-task-id "1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6c"
```
Sortie :  

```
{
    "WindowTaskId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6c",
    "WindowId":"mw-ab12cd34ef56gh78"
}
```
Pour plus d'informations, consultez les [didacticiels Windows (AWS CLI) de maintenance de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-tutorials.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DeregisterTaskFromMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/deregister-task-from-maintenance-window.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime une tâche d’une fenêtre de maintenance.**  

```
Unregister-SSMTaskFromMaintenanceWindow -WindowTaskId "f34a2c47-ddfd-4c85-a88d-72366b69af1b" -WindowId "mw-03a342e62c96d31b0"
```
**Sortie** :  

```
WindowId             WindowTaskId
--------             ------------
mw-03a342e62c96d31b0 f34a2c47-ddfd-4c85-a88d-72366b69af1b
```
+  Pour plus de détails sur l'API, reportez-vous [DeregisterTaskFromMaintenanceWindow](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime une tâche d’une fenêtre de maintenance.**  

```
Unregister-SSMTaskFromMaintenanceWindow -WindowTaskId "f34a2c47-ddfd-4c85-a88d-72366b69af1b" -WindowId "mw-03a342e62c96d31b0"
```
**Sortie** :  

```
WindowId             WindowTaskId
--------             ------------
mw-03a342e62c96d31b0 f34a2c47-ddfd-4c85-a88d-72366b69af1b
```
+  Pour plus de détails sur l'API, reportez-vous [DeregisterTaskFromMaintenanceWindow](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeActivations` avec une CLI
<a name="ssm_example_ssm_DescribeActivations_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeActivations`.

------
#### [ CLI ]

**AWS CLI**  
**Pour décrire les activations**  
L'`describe-activations`exemple suivant répertorie les informations relatives aux activations de votre AWS compte.  

```
aws ssm describe-activations
```
Sortie :  

```
{
    "ActivationList": [
        {
            "ActivationId": "5743558d-563b-4457-8682-d16c3EXAMPLE",
            "Description": "Example1",
            "IamRole": "HybridWebServersRole,
            "RegistrationLimit": 5,
            "RegistrationsCount": 5,
            "ExpirationDate": 1584316800.0,
            "Expired": false,
            "CreatedDate": 1581954699.792
        },
        {
            "ActivationId": "3ee0322b-f62d-40eb-b672-13ebfEXAMPLE",
            "Description": "Example2",
            "IamRole": "HybridDatabaseServersRole",
            "RegistrationLimit": 5,
            "RegistrationsCount": 5,
            "ExpirationDate": 1580515200.0,
            "Expired": true,
            "CreatedDate": 1578064132.002
        },
    ]
}
```
Pour plus d’informations, consultez [Étape 4 : créer une activation d’instance gérée pour un environnement hybride](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-managed-instance-activation.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeActivations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-activations.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple fournit des détails sur les activations de votre compte.**  

```
Get-SSMActivation
```
**Sortie** :  

```
ActivationId        : 08e51e79-1e36-446c-8e63-9458569c1363
CreatedDate         : 3/1/2017 12:01:51 AM
DefaultInstanceName : MyWebServers
Description         :
ExpirationDate      : 3/2/2017 12:01:51 AM
Expired             : False
IamRole             : AutomationRole
RegistrationLimit   : 10
RegistrationsCount  : 0
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeActivations](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple fournit des détails sur les activations de votre compte.**  

```
Get-SSMActivation
```
**Sortie** :  

```
ActivationId        : 08e51e79-1e36-446c-8e63-9458569c1363
CreatedDate         : 3/1/2017 12:01:51 AM
DefaultInstanceName : MyWebServers
Description         :
ExpirationDate      : 3/2/2017 12:01:51 AM
Expired             : False
IamRole             : AutomationRole
RegistrationLimit   : 10
RegistrationsCount  : 0
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeActivations](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeAssociation` avec une CLI
<a name="ssm_example_ssm_DescribeAssociation_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeAssociation`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour obtenir les détails d’une association**  
L’exemple `describe-association` suivant décrit l’association pour l’ID d’association spécifié.  

```
aws ssm describe-association \
    --association-id "8dfe3659-4309-493a-8755-0123456789ab"
```
Sortie :  

```
{
    "AssociationDescription": {
        "Name": "AWS-GatherSoftwareInventory",
        "AssociationVersion": "1",
        "Date": 1534864780.995,
        "LastUpdateAssociationDate": 1543235759.81,
        "Overview": {
            "Status": "Success",
            "AssociationStatusAggregatedCount": {
                "Success": 2
            }
        },
        "DocumentVersion": "$DEFAULT",
        "Parameters": {
            "applications": [
                "Enabled"
            ],
            "awsComponents": [
                "Enabled"
            ],
            "customInventory": [
                "Enabled"
            ],
            "files": [
                ""
            ],
            "instanceDetailedInformation": [
                "Enabled"
            ],
            "networkConfig": [
                "Enabled"
            ],
            "services": [
                "Enabled"
            ],
            "windowsRegistry": [
                ""
            ],
            "windowsRoles": [
                "Enabled"
            ],
            "windowsUpdates": [
                "Enabled"
            ]
        },
        "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
        "Targets": [
            {
                "Key": "InstanceIds",
                "Values": [
                    "*"
                ]
            }
        ],
        "ScheduleExpression": "rate(24 hours)",
        "LastExecutionDate": 1550501886.0,
        "LastSuccessfulExecutionDate": 1550501886.0,
        "AssociationName": "Inventory-Association"
    }
}
```
Pour plus d’informations, consultez [Modifier et créer une nouvelle version d’une association](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc-edit.html) (français non garanti) dans le *AWS Guide de l’utilisateur Systems Manager* (français non garanti).  
**Exemple 2 : pour obtenir les détails d’une association pour une instance et un document spécifiques**  
L’exemple `describe-association` suivant décrit l’association entre une instance et un document.  

```
aws ssm describe-association \
    --instance-id "i-1234567890abcdef0" \
    --name "AWS-UpdateSSMAgent"
```
Sortie :  

```
{
    "AssociationDescription": {
        "Status": {
            "Date": 1487876122.564,
            "Message": "Associated with AWS-UpdateSSMAgent",
            "Name": "Associated"
        },
        "Name": "AWS-UpdateSSMAgent",
        "InstanceId": "i-1234567890abcdef0",
        "Overview": {
            "Status": "Pending",
            "DetailedStatus": "Associated",
            "AssociationStatusAggregatedCount": {
                "Pending": 1
            }
        },
        "AssociationId": "d8617c07-2079-4c18-9847-1234567890ab",
        "DocumentVersion": "$DEFAULT",
        "LastUpdateAssociationDate": 1487876122.564,
        "Date": 1487876122.564,
        "Targets": [
            {
                "Values": [
                    "i-1234567890abcdef0"
                ],
                "Key": "InstanceIds"
            }
        ]
    }
}
```
Pour plus d’informations, consultez [Modifier et créer une nouvelle version d’une association](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc-edit.html) (français non garanti) dans le *AWS Guide de l’utilisateur Systems Manager* (français non garanti).  
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-association.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple décrit l’association entre une instance et un document.**  

```
Get-SSMAssociation -InstanceId "i-0000293ffd8c57862" -Name "AWS-UpdateSSMAgent"
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            : i-0000293ffd8c57862
Date                  : 2/23/2017 6:55:22 PM
Status.Name           : Pending
Status.Date           : 2/20/2015 8:31:11 AM
Status.Message        : temp_status_change
Status.AdditionalInfo : Additional-Config-Needed
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociation](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple décrit l’association entre une instance et un document.**  

```
Get-SSMAssociation -InstanceId "i-0000293ffd8c57862" -Name "AWS-UpdateSSMAgent"
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            : i-0000293ffd8c57862
Date                  : 2/23/2017 6:55:22 PM
Status.Name           : Pending
Status.Date           : 2/20/2015 8:31:11 AM
Status.Message        : temp_status_change
Status.AdditionalInfo : Additional-Config-Needed
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociation](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeAssociationExecutionTargets` avec une CLI
<a name="ssm_example_ssm_DescribeAssociationExecutionTargets_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeAssociationExecutionTargets`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir des détails sur l’exécution d’une association**  
L’exemple `describe-association-execution-targets` suivant décrit l’exécution de l’association spécifiée.  

```
aws ssm describe-association-execution-targets \
    --association-id "8dfe3659-4309-493a-8755-0123456789ab" \
    --execution-id "7abb6378-a4a5-4f10-8312-0123456789ab"
```
Sortie :  

```
{
    "AssociationExecutionTargets": [
        {
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "AssociationVersion": "1",
            "ExecutionId": "7abb6378-a4a5-4f10-8312-0123456789ab",
            "ResourceId": "i-1234567890abcdef0",
            "ResourceType": "ManagedInstance",
            "Status": "Success",
            "DetailedStatus": "Success",
            "LastExecutionDate": 1550505538.497,
            "OutputSource": {
                "OutputSourceId": "97fff367-fc5a-4299-aed8-0123456789ab",
                "OutputSourceType": "RunCommand"
            }
        }
    ]
}
```
Pour plus d’informations, consultez [Afficher l’historique des associations](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc-history.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociationExecutionTargets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-association-execution-targets.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple affiche l’identifiant de la ressource et son statut d’exécution qui font partie des cibles d’exécution de l’association**  

```
Get-SSMAssociationExecutionTarget -AssociationId 123a45a0-c678-9012-3456-78901234db5e -ExecutionId 123a45a0-c678-9012-3456-78901234db5e | Select-Object ResourceId, Status
```
**Sortie** :  

```
ResourceId           Status
----------           ------
i-0b1b2a3456f7a890b  Success
i-01c12a45d6fc7a89f  Success
i-0a1caf234f56d7dc8  Success
i-012a3fd45af6dbcfe  Failed
i-0ddc1df23c4a5fb67  Success
```
**Exemple 2 : cette commande vérifie l’exécution particulière d’une automatisation particulière depuis hier, où un document de commande est associé. Elle vérifie également si l’exécution de l’association a échoué, et si c’est le cas, elle affiche les détails de l’invocation de la commande pour l’exécution ainsi que l’identifiant de l’instance**  

```
$AssociationExecution= Get-SSMAssociationExecutionTarget -AssociationId 1c234567-890f-1aca-a234-5a678d901cb0 -ExecutionId 12345ca12-3456-2345-2b45-23456789012 | 
    Where-Object {$_.LastExecutionDate -gt (Get-Date -Hour 00 -Minute 00).AddDays(-1)} 

foreach ($execution in $AssociationExecution) {
    if($execution.Status -ne 'Success'){
        Write-Output "There was an issue executing the association $($execution.AssociationId) on $($execution.ResourceId)"
        Get-SSMCommandInvocation -CommandId $execution.OutputSource.OutputSourceId -Detail:$true | Select-Object -ExpandProperty CommandPlugins
    }
}
```
**Sortie** :  

```
There was an issue executing the association 1c234567-890f-1aca-a234-5a678d901cb0 on i-0a1caf234f56d7dc8


Name                   : aws:runPowerShellScript
Output                 : 
                         ----------ERROR-------
                         failed to run commands: exit status 1
OutputS3BucketName     : 
OutputS3KeyPrefix      : 
OutputS3Region         : eu-west-1
ResponseCode           : 1
ResponseFinishDateTime : 5/29/2019 11:04:49 AM
ResponseStartDateTime  : 5/29/2019 11:04:49 AM
StandardErrorUrl       : 
StandardOutputUrl      : 
Status                 : Failed
StatusDetails          : Failed
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociationExecutionTargets](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple affiche l’identifiant de la ressource et son statut d’exécution qui font partie des cibles d’exécution de l’association**  

```
Get-SSMAssociationExecutionTarget -AssociationId 123a45a0-c678-9012-3456-78901234db5e -ExecutionId 123a45a0-c678-9012-3456-78901234db5e | Select-Object ResourceId, Status
```
**Sortie** :  

```
ResourceId           Status
----------           ------
i-0b1b2a3456f7a890b  Success
i-01c12a45d6fc7a89f  Success
i-0a1caf234f56d7dc8  Success
i-012a3fd45af6dbcfe  Failed
i-0ddc1df23c4a5fb67  Success
```
**Exemple 2 : cette commande vérifie l’exécution particulière d’une automatisation particulière depuis hier, où un document de commande est associé. Elle vérifie également si l’exécution de l’association a échoué, et si c’est le cas, elle affiche les détails de l’invocation de la commande pour l’exécution ainsi que l’identifiant de l’instance**  

```
$AssociationExecution= Get-SSMAssociationExecutionTarget -AssociationId 1c234567-890f-1aca-a234-5a678d901cb0 -ExecutionId 12345ca12-3456-2345-2b45-23456789012 | 
    Where-Object {$_.LastExecutionDate -gt (Get-Date -Hour 00 -Minute 00).AddDays(-1)} 

foreach ($execution in $AssociationExecution) {
    if($execution.Status -ne 'Success'){
        Write-Output "There was an issue executing the association $($execution.AssociationId) on $($execution.ResourceId)"
        Get-SSMCommandInvocation -CommandId $execution.OutputSource.OutputSourceId -Detail:$true | Select-Object -ExpandProperty CommandPlugins
    }
}
```
**Sortie** :  

```
There was an issue executing the association 1c234567-890f-1aca-a234-5a678d901cb0 on i-0a1caf234f56d7dc8


Name                   : aws:runPowerShellScript
Output                 : 
                         ----------ERROR-------
                         failed to run commands: exit status 1
OutputS3BucketName     : 
OutputS3KeyPrefix      : 
OutputS3Region         : eu-west-1
ResponseCode           : 1
ResponseFinishDateTime : 5/29/2019 11:04:49 AM
ResponseStartDateTime  : 5/29/2019 11:04:49 AM
StandardErrorUrl       : 
StandardOutputUrl      : 
Status                 : Failed
StatusDetails          : Failed
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociationExecutionTargets](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeAssociationExecutions` avec une CLI
<a name="ssm_example_ssm_DescribeAssociationExecutions_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeAssociationExecutions`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour obtenir les détails de toutes les exécutions d’une association**  
L’exemple `describe-association-executions` suivant décrit toutes les exécutions de l’association spécifiée.  

```
aws ssm describe-association-executions \
    --association-id "8dfe3659-4309-493a-8755-0123456789ab"
```
Sortie :  

```
{
    "AssociationExecutions": [
        {
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "AssociationVersion": "1",
            "ExecutionId": "474925ef-1249-45a2-b93d-0123456789ab",
            "Status": "Success",
            "DetailedStatus": "Success",
            "CreatedTime": 1550505827.119,
            "ResourceCountByStatus": "{Success=1}"
        },
        {
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "AssociationVersion": "1",
            "ExecutionId": "7abb6378-a4a5-4f10-8312-0123456789ab",
            "Status": "Success",
            "DetailedStatus": "Success",
            "CreatedTime": 1550505536.843,
            "ResourceCountByStatus": "{Success=1}"
        },
        ...
    ]
}
```
Pour plus d’informations, consultez [Afficher l’historique des associations](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc-history.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 2 : pour obtenir les détails de toutes les exécutions d’une association après une date et heure spécifiques**  
L’exemple `describe-association-executions` suivant décrit toutes les exécutions d’une association après la date et l’heure spécifiées.  

```
aws ssm describe-association-executions \
    --association-id "8dfe3659-4309-493a-8755-0123456789ab" \
    --filters "Key=CreatedTime,Value=2019-02-18T16:00:00Z,Type=GREATER_THAN"
```
Sortie :  

```
{
    "AssociationExecutions": [
        {
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "AssociationVersion": "1",
            "ExecutionId": "474925ef-1249-45a2-b93d-0123456789ab",
            "Status": "Success",
            "DetailedStatus": "Success",
            "CreatedTime": 1550505827.119,
            "ResourceCountByStatus": "{Success=1}"
        },
        {
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "AssociationVersion": "1",
            "ExecutionId": "7abb6378-a4a5-4f10-8312-0123456789ab",
            "Status": "Success",
            "DetailedStatus": "Success",
            "CreatedTime": 1550505536.843,
            "ResourceCountByStatus": "{Success=1}"
        },
        ...
    ]
}
```
Pour plus d’informations, consultez [Afficher l’historique des associations](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc-history.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociationExecutions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-association-executions.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple renvoie les exécutions pour l’identifiant d’association fourni**  

```
Get-SSMAssociationExecution -AssociationId 123a45a0-c678-9012-3456-78901234db5e
```
**Sortie** :  

```
AssociationId         : 123a45a0-c678-9012-3456-78901234db5e
AssociationVersion    : 2
CreatedTime           : 3/2/2019 8:53:29 AM
DetailedStatus        :
ExecutionId           : 123a45a0-c678-9012-3456-78901234db5e
LastExecutionDate     : 1/1/0001 12:00:00 AM
ResourceCountByStatus : {Success=4}
Status                : Success
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociationExecutions](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple renvoie les exécutions pour l’identifiant d’association fourni**  

```
Get-SSMAssociationExecution -AssociationId 123a45a0-c678-9012-3456-78901234db5e
```
**Sortie** :  

```
AssociationId         : 123a45a0-c678-9012-3456-78901234db5e
AssociationVersion    : 2
CreatedTime           : 3/2/2019 8:53:29 AM
DetailedStatus        :
ExecutionId           : 123a45a0-c678-9012-3456-78901234db5e
LastExecutionDate     : 1/1/0001 12:00:00 AM
ResourceCountByStatus : {Success=4}
Status                : Success
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAssociationExecutions](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeAutomationExecutions` avec une CLI
<a name="ssm_example_ssm_DescribeAutomationExecutions_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeAutomationExecutions`.

------
#### [ CLI ]

**AWS CLI**  
**Pour décrire une exécution d’automatisation**  
L’exemple `describe-automation-executions` suivant affiche les détails d’une exécution d’automatisation.  

```
aws ssm describe-automation-executions \
    --filters Key=ExecutionId,Values=73c8eef8-f4ee-4a05-820c-e354fEXAMPLE
```
Sortie :  

```
{
    "AutomationExecutionMetadataList": [
        {
            "AutomationExecutionId": "73c8eef8-f4ee-4a05-820c-e354fEXAMPLE",
            "DocumentName": "AWS-StartEC2Instance",
            "DocumentVersion": "1",
            "AutomationExecutionStatus": "Success",
            "ExecutionStartTime": 1583737233.748,
            "ExecutionEndTime": 1583737234.719,
            "ExecutedBy": "arn:aws:sts::29884EXAMPLE:assumed-role/mw_service_role/OrchestrationService",
            "LogFile": "",
            "Outputs": {},
            "Mode": "Auto",
            "Targets": [],
            "ResolvedTargets": {
                "ParameterValues": [],
                "Truncated": false
            },
            "AutomationType": "Local"
        }
    ]
}
```
Pour plus d’informations, consultez [Exécution d’un flux de travail d’automatisation simple](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-working-executing.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeAutomationExecutions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-automation-executions.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple décrit toutes les exécutions d’automatisation actives et résiliées associées à votre compte.**  

```
Get-SSMAutomationExecutionList
```
**Sortie** :  

```
AutomationExecutionId     : 4105a4fc-f944-11e6-9d32-8fb2db27a909
AutomationExecutionStatus : Failed
DocumentName              : AWS-UpdateLinuxAmi
DocumentVersion           : 1
ExecutedBy                : admin
ExecutionEndTime          : 2/22/2017 9:17:08 PM
ExecutionStartTime        : 2/22/2017 9:17:02 PM
LogFile                   :
Outputs                   : {[createImage.ImageId, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
```
**Exemple 2 : cet exemple affiche l'ExecutionID, le document et l' start/end horodatage d'exécution pour les exécutions dont la valeur n'est pas «  AutomationExecutionStatus  Success »**  

```
Get-SSMAutomationExecutionList | Where-Object AutomationExecutionStatus -ne "Success" | Select-Object AutomationExecutionId, DocumentName, AutomationExecutionStatus, ExecutionStartTime, ExecutionEndTime | Format-Table -AutoSize
```
**Sortie** :  

```
AutomationExecutionId                DocumentName                            AutomationExecutionStatus ExecutionStartTime   ExecutionEndTime
---------------------                ------------                            ------------------------- ------------------   ----------------
e1d2bad3-4567-8901-ae23-456c7c8901be AWS-UpdateWindowsAmi                    Cancelled                 4/16/2019 5:37:04 AM 4/16/2019 5:47:29 AM
61234567-a7f8-90e1-2b34-567b8bf9012c Fixed-UpdateAmi                         Cancelled                 4/16/2019 5:33:04 AM 4/16/2019 5:40:15 AM
91234d56-7e89-0ac1-2aee-34ea5d6a7c89 AWS-UpdateWindowsAmi                    Failed                    4/16/2019 5:22:46 AM 4/16/2019 5:27:29 AM
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAutomationExecutions](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple décrit toutes les exécutions d’automatisation actives et résiliées associées à votre compte.**  

```
Get-SSMAutomationExecutionList
```
**Sortie** :  

```
AutomationExecutionId     : 4105a4fc-f944-11e6-9d32-8fb2db27a909
AutomationExecutionStatus : Failed
DocumentName              : AWS-UpdateLinuxAmi
DocumentVersion           : 1
ExecutedBy                : admin
ExecutionEndTime          : 2/22/2017 9:17:08 PM
ExecutionStartTime        : 2/22/2017 9:17:02 PM
LogFile                   :
Outputs                   : {[createImage.ImageId, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
```
**Exemple 2 : cet exemple affiche l'ExecutionID, le document et l' start/end horodatage d'exécution pour les exécutions dont la valeur n'est pas «  AutomationExecutionStatus  Success »**  

```
Get-SSMAutomationExecutionList | Where-Object AutomationExecutionStatus -ne "Success" | Select-Object AutomationExecutionId, DocumentName, AutomationExecutionStatus, ExecutionStartTime, ExecutionEndTime | Format-Table -AutoSize
```
**Sortie** :  

```
AutomationExecutionId                DocumentName                            AutomationExecutionStatus ExecutionStartTime   ExecutionEndTime
---------------------                ------------                            ------------------------- ------------------   ----------------
e1d2bad3-4567-8901-ae23-456c7c8901be AWS-UpdateWindowsAmi                    Cancelled                 4/16/2019 5:37:04 AM 4/16/2019 5:47:29 AM
61234567-a7f8-90e1-2b34-567b8bf9012c Fixed-UpdateAmi                         Cancelled                 4/16/2019 5:33:04 AM 4/16/2019 5:40:15 AM
91234d56-7e89-0ac1-2aee-34ea5d6a7c89 AWS-UpdateWindowsAmi                    Failed                    4/16/2019 5:22:46 AM 4/16/2019 5:27:29 AM
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAutomationExecutions](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeAutomationStepExecutions` avec une CLI
<a name="ssm_example_ssm_DescribeAutomationStepExecutions_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeAutomationStepExecutions`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour décrire toutes les étapes d’une exécution d’automatisation**  
L’exemple `describe-automation-step-executions` suivant affiche les détails des étapes d’une exécution d’automatisation.  

```
aws ssm describe-automation-step-executions \
    --automation-execution-id 73c8eef8-f4ee-4a05-820c-e354fEXAMPLE
```
Sortie :  

```
{
    "StepExecutions": [
        {
            "StepName": "startInstances",
            "Action": "aws:changeInstanceState",
            "ExecutionStartTime": 1583737234.134,
            "ExecutionEndTime": 1583737234.672,
            "StepStatus": "Success",
            "Inputs": {
                "DesiredState": "\"running\"",
                "InstanceIds": "[\"i-0cb99161f6EXAMPLE\"]"
            },
            "Outputs": {
                "InstanceStates": [
                    "running"
                ]
            },
            "StepExecutionId": "95e70479-cf20-4d80-8018-7e4e2EXAMPLE",
            "OverriddenParameters": {}
        }
    ]
}
```
**Exemple 2 : pour décrire une étape spécifique d’une exécution d’automatisation**  
L’exemple `describe-automation-step-executions` suivant affiche les détails d’une étape spécifique d’une exécution d’automatisation.  

```
aws ssm describe-automation-step-executions \
    --automation-execution-id 73c8eef8-f4ee-4a05-820c-e354fEXAMPLE \
    --filters Key=StepExecutionId,Values=95e70479-cf20-4d80-8018-7e4e2EXAMPLE
```
Pour plus d’informations, consultez [Exécution d’un flux de travail d’automatisation étape par étape (ligne de commande)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-working-executing-manually.html#automation-working-executing-manually-commandline) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeAutomationStepExecutions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-automation-step-executions.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple affiche des informations sur toutes les exécutions d’étapes actives et résiliées d’un flux de travail d’automatisation.**  

```
Get-SSMAutomationStepExecution -AutomationExecutionId e1d2bad3-4567-8901-ae23-456c7c8901be | Select-Object StepName, Action, StepStatus
```
**Sortie** :  

```
StepName                  Action                  StepStatus
--------                  ------                  ----------
LaunchInstance            aws:runInstances        Success
OSCompatibilityCheck      aws:runCommand          Success
RunPreUpdateScript        aws:runCommand          Success
UpdateEC2Config           aws:runCommand          Cancelled
UpdateSSMAgent            aws:runCommand          Pending
UpdateAWSPVDriver         aws:runCommand          Pending
UpdateAWSEnaNetworkDriver aws:runCommand          Pending
UpdateAWSNVMe             aws:runCommand          Pending
InstallWindowsUpdates     aws:runCommand          Pending
RunPostUpdateScript       aws:runCommand          Pending
RunSysprepGeneralize      aws:runCommand          Pending
StopInstance              aws:changeInstanceState Pending
CreateImage               aws:createImage         Pending
TerminateInstance         aws:changeInstanceState Pending
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAutomationStepExecutions](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple affiche des informations sur toutes les exécutions d’étapes actives et résiliées d’un flux de travail d’automatisation.**  

```
Get-SSMAutomationStepExecution -AutomationExecutionId e1d2bad3-4567-8901-ae23-456c7c8901be | Select-Object StepName, Action, StepStatus
```
**Sortie** :  

```
StepName                  Action                  StepStatus
--------                  ------                  ----------
LaunchInstance            aws:runInstances        Success
OSCompatibilityCheck      aws:runCommand          Success
RunPreUpdateScript        aws:runCommand          Success
UpdateEC2Config           aws:runCommand          Cancelled
UpdateSSMAgent            aws:runCommand          Pending
UpdateAWSPVDriver         aws:runCommand          Pending
UpdateAWSEnaNetworkDriver aws:runCommand          Pending
UpdateAWSNVMe             aws:runCommand          Pending
InstallWindowsUpdates     aws:runCommand          Pending
RunPostUpdateScript       aws:runCommand          Pending
RunSysprepGeneralize      aws:runCommand          Pending
StopInstance              aws:changeInstanceState Pending
CreateImage               aws:createImage         Pending
TerminateInstance         aws:changeInstanceState Pending
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAutomationStepExecutions](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeAvailablePatches` avec une CLI
<a name="ssm_example_ssm_DescribeAvailablePatches_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeAvailablePatches`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir les correctifs disponibles**  
L’exemple `describe-available-patches` suivant permet de récupérer les détails de tous les correctifs disponibles pour Windows Server 2019 dont la sévérité du CSEM est Critique.  

```
aws ssm describe-available-patches \
    --filters "Key=PRODUCT,Values=WindowsServer2019" "Key=MSRC_SEVERITY,Values=Critical"
```
Sortie :  

```
{
    "Patches": [
        {
            "Id": "fe6bd8c2-3752-4c8b-ab3e-1a7ed08767ba",
            "ReleaseDate": 1544047205.0,
            "Title": "2018-11 Update for Windows Server 2019 for x64-based Systems (KB4470788)",
            "Description": "Install this update to resolve issues in Windows. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article for more information. After you install this item, you may have to restart your computer.",
            "ContentUrl": "https://support.microsoft.com/en-us/kb/4470788",
            "Vendor": "Microsoft",
            "ProductFamily": "Windows",
            "Product": "WindowsServer2019",
            "Classification": "SecurityUpdates",
            "MsrcSeverity": "Critical",
            "KbNumber": "KB4470788",
            "MsrcNumber": "",
            "Language": "All"
        },
        {
            "Id": "c96115e1-5587-4115-b851-22baa46a3f11",
            "ReleaseDate": 1549994410.0,
            "Title": "2019-02 Security Update for Adobe Flash Player for Windows Server 2019 for x64-based Systems (KB4487038)",
            "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.",
            "ContentUrl": "https://support.microsoft.com/en-us/kb/4487038",
            "Vendor": "Microsoft",
            "ProductFamily": "Windows",
            "Product": "WindowsServer2019",
            "Classification": "SecurityUpdates",
            "MsrcSeverity": "Critical",
            "KbNumber": "KB4487038",
            "MsrcNumber": "",
            "Language": "All"
        },
        ...
    ]
}
```
**Pour obtenir les détails d’un correctif spécifique**  
L’exemple `describe-available-patches` suivant récupère des détails sur le correctif spécifié.  

```
aws ssm describe-available-patches \
    --filters "Key=PATCH_ID,Values=KB4480979"
```
Sortie :  

```
{
    "Patches": [
        {
            "Id": "680861e3-fb75-432e-818e-d72e5f2be719",
            "ReleaseDate": 1546970408.0,
            "Title": "2019-01 Security Update for Adobe Flash Player for Windows Server 2016 for x64-based Systems (KB4480979)",
            "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.",
            "ContentUrl": "https://support.microsoft.com/en-us/kb/4480979",
            "Vendor": "Microsoft",
            "ProductFamily": "Windows",
            "Product": "WindowsServer2016",
            "Classification": "SecurityUpdates",
            "MsrcSeverity": "Critical",
            "KbNumber": "KB4480979",
            "MsrcNumber": "",
            "Language": "All"
        }
    ]
}
```
Pour plus d’informations, consultez [Fonctionnement des opérations du gestionnaire de correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-how-it-works.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeAvailablePatches](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-available-patches.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet d’obtenir tous les correctifs disponibles pour Windows Server 2012 dont la sévérité MSRC est Critique. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter1 = @{Key="PRODUCT";Values=@("WindowsServer2012")}
$filter2 = @{Key="MSRC_SEVERITY";Values=@("Critical")}

Get-SSMAvailablePatch -Filter $filter1,$filter2
```
**Sortie** :  

```
Classification : SecurityUpdates
ContentUrl     : https://support.microsoft.com/en-us/kb/2727528
Description    : A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control
                 over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to
                 restart your system.
Id             : 1eb507be-2040-4eeb-803d-abc55700b715
KbNumber       : KB2727528
Language       : All
MsrcNumber     : MS12-072
MsrcSeverity   : Critical
Product        : WindowsServer2012
ProductFamily  : Windows
ReleaseDate    : 11/13/2012 6:00:00 PM
Title          : Security Update for Windows Server 2012 (KB2727528)
Vendor         : Microsoft
...
```
**Exemple 2 : Avec PowerShell la version 2, vous devez utiliser New-Object pour créer chaque filtre.**  

```
$filter1 = New-Object Amazon.SimpleSystemsManagement.Model.PatchOrchestratorFilter
$filter1.Key = "PRODUCT"
$filter1.Values = "WindowsServer2012"
$filter2 = New-Object Amazon.SimpleSystemsManagement.Model.PatchOrchestratorFilter
$filter2.Key = "MSRC_SEVERITY"
$filter2.Values = "Critical"

Get-SSMAvailablePatch -Filter $filter1,$filter2
```
**Exemple 3 : Cet exemple récupère toutes les mises à jour publiées au cours des 20 derniers jours et applicables aux produits correspondant WindowsServer à 2019**  

```
Get-SSMAvailablePatch | Where-Object ReleaseDate -ge (Get-Date).AddDays(-20) | Where-Object Product -eq "WindowsServer2019" | Select-Object ReleaseDate, Product, Title
```
**Sortie** :  

```
ReleaseDate         Product           Title
-----------         -------           -----
4/9/2019 5:00:12 PM WindowsServer2019 2019-04 Security Update for Adobe Flash Player for Windows Server 2019 for x64-based Systems (KB4493478)
4/9/2019 5:00:06 PM WindowsServer2019 2019-04 Cumulative Update for Windows Server 2019 for x64-based Systems (KB4493509)
4/2/2019 5:00:06 PM WindowsServer2019 2019-03 Servicing Stack Update for Windows Server 2019 for x64-based Systems (KB4493510)
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAvailablePatches](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet d’obtenir tous les correctifs disponibles pour Windows Server 2012 dont la sévérité MSRC est Critique. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter1 = @{Key="PRODUCT";Values=@("WindowsServer2012")}
$filter2 = @{Key="MSRC_SEVERITY";Values=@("Critical")}

Get-SSMAvailablePatch -Filter $filter1,$filter2
```
**Sortie** :  

```
Classification : SecurityUpdates
ContentUrl     : https://support.microsoft.com/en-us/kb/2727528
Description    : A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control
                 over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to
                 restart your system.
Id             : 1eb507be-2040-4eeb-803d-abc55700b715
KbNumber       : KB2727528
Language       : All
MsrcNumber     : MS12-072
MsrcSeverity   : Critical
Product        : WindowsServer2012
ProductFamily  : Windows
ReleaseDate    : 11/13/2012 6:00:00 PM
Title          : Security Update for Windows Server 2012 (KB2727528)
Vendor         : Microsoft
...
```
**Exemple 2 : Avec PowerShell la version 2, vous devez utiliser New-Object pour créer chaque filtre.**  

```
$filter1 = New-Object Amazon.SimpleSystemsManagement.Model.PatchOrchestratorFilter
$filter1.Key = "PRODUCT"
$filter1.Values = "WindowsServer2012"
$filter2 = New-Object Amazon.SimpleSystemsManagement.Model.PatchOrchestratorFilter
$filter2.Key = "MSRC_SEVERITY"
$filter2.Values = "Critical"

Get-SSMAvailablePatch -Filter $filter1,$filter2
```
**Exemple 3 : Cet exemple récupère toutes les mises à jour publiées au cours des 20 derniers jours et applicables aux produits correspondant WindowsServer à 2019**  

```
Get-SSMAvailablePatch | Where-Object ReleaseDate -ge (Get-Date).AddDays(-20) | Where-Object Product -eq "WindowsServer2019" | Select-Object ReleaseDate, Product, Title
```
**Sortie** :  

```
ReleaseDate         Product           Title
-----------         -------           -----
4/9/2019 5:00:12 PM WindowsServer2019 2019-04 Security Update for Adobe Flash Player for Windows Server 2019 for x64-based Systems (KB4493478)
4/9/2019 5:00:06 PM WindowsServer2019 2019-04 Cumulative Update for Windows Server 2019 for x64-based Systems (KB4493509)
4/2/2019 5:00:06 PM WindowsServer2019 2019-03 Servicing Stack Update for Windows Server 2019 for x64-based Systems (KB4493510)
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeAvailablePatches](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `DescribeDocument` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_DescribeDocument_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeDocument`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher les détails d’un document**  
L'`describe-document`exemple suivant affiche les détails d'un document Systems Manager de votre AWS compte.  

```
aws ssm describe-document \
    --name "Example"
```
Sortie :  

```
{
    "Document": {
        "Hash": "fc2410281f40779e694a8b95975d0f9f316da8a153daa94e3d9921102EXAMPLE",
        "HashType": "Sha256",
        "Name": "Example",
        "Owner": "29884EXAMPLE",
        "CreatedDate": 1583257938.266,
        "Status": "Active",
        "DocumentVersion": "1",
        "Description": "Document Example",
        "Parameters": [
            {
                "Name": "AutomationAssumeRole",
                "Type": "String",
                "Description": "(Required) The ARN of the role that allows Automation to perform the actions on your behalf. If no role is specified, Systems Manager Automation uses your IAM permissions to execute this document.",
                "DefaultValue": ""
            },
            {
                "Name": "InstanceId",
                "Type": "String",
                "Description": "(Required) The ID of the Amazon EC2 instance.",
                "DefaultValue": ""
            }
        ],
        "PlatformTypes": [
            "Windows",
            "Linux"
        ],
        "DocumentType": "Automation",
        "SchemaVersion": "0.3",
        "LatestVersion": "1",
        "DefaultVersion": "1",
        "DocumentFormat": "YAML",
        "Tags": []
    }
}
```
Pour plus d’informations, consultez [Création de documents Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-doc.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeDocument](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-document.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple renvoie des informations sur un document.**  

```
Get-SSMDocumentDescription -Name "RunShellScript"
```
**Sortie** :  

```
CreatedDate     : 2/24/2017 5:25:13 AM
DefaultVersion  : 1
Description     : Run an updated script
DocumentType    : Command
DocumentVersion : 1
Hash            : f775e5df4904c6fa46686c4722fae9de1950dace25cd9608ff8d622046b68d9b
HashType        : Sha256
LatestVersion   : 1
Name            : RunShellScript
Owner           : 123456789012
Parameters      : {commands}
PlatformTypes   : {Linux}
SchemaVersion   : 2.0
Sha1            :
Status          : Active
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeDocument](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple renvoie des informations sur un document.**  

```
Get-SSMDocumentDescription -Name "RunShellScript"
```
**Sortie** :  

```
CreatedDate     : 2/24/2017 5:25:13 AM
DefaultVersion  : 1
Description     : Run an updated script
DocumentType    : Command
DocumentVersion : 1
Hash            : f775e5df4904c6fa46686c4722fae9de1950dace25cd9608ff8d622046b68d9b
HashType        : Sha256
LatestVersion   : 1
Name            : RunShellScript
Owner           : 123456789012
Parameters      : {commands}
PlatformTypes   : {Linux}
SchemaVersion   : 2.0
Sha1            :
Status          : Active
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeDocument](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        DATA(lo_result) = lo_ssm->describedocument( iv_name = iv_name ).
        DATA(lo_document) = lo_result->get_document( ).
        IF lo_document IS BOUND.
          rv_status = lo_document->get_status( ).
          MESSAGE |Document status: { rv_status }| TYPE 'I'.
        ENDIF.
      CATCH /aws1/cx_ssminvaliddocument.
        MESSAGE 'Invalid document.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [DescribeDocument](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation de `DescribeDocumentPermission` avec une CLI
<a name="ssm_example_ssm_DescribeDocumentPermission_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeDocumentPermission`.

------
#### [ CLI ]

**AWS CLI**  
**Pour décrire les autorisations d’un document**  
L’exemple `describe-document-permission` suivant affiche des détails sur les autorisations relatives à un document Systems Manager partagé publiquement.  

```
aws ssm describe-document-permission \
    --name "Example" \
    --permission-type "Share"
```
Sortie :  

```
{
    "AccountIds": [
        "all"
    ],
    "AccountSharingInfoList": [
        {
            "AccountId": "all",
            "SharedDocumentVersion": "$DEFAULT"
        }
    ]
}
```
Pour plus d’informations, consultez [Partager un document Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-how-to-share.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeDocumentPermission](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-document-permission.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les versions pour un document.**  

```
Get-SSMDocumentVersionList -Name "RunShellScript"
```
**Sortie** :  

```
CreatedDate          DocumentVersion IsDefaultVersion Name
-----------          --------------- ---------------- ----
2/24/2017 5:25:13 AM 1               True             RunShellScript
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeDocumentPermission](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les versions pour un document.**  

```
Get-SSMDocumentVersionList -Name "RunShellScript"
```
**Sortie** :  

```
CreatedDate          DocumentVersion IsDefaultVersion Name
-----------          --------------- ---------------- ----
2/24/2017 5:25:13 AM 1               True             RunShellScript
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeDocumentPermission](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeEffectiveInstanceAssociations` avec une CLI
<a name="ssm_example_ssm_DescribeEffectiveInstanceAssociations_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeEffectiveInstanceAssociations`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir des détails sur les associations effectives d’une instance**  
L’exemple `describe-effective-instance-associations` suivant récupère les détails des associations effectives d’une instance.  
Commande :  

```
aws ssm describe-effective-instance-associations --instance-id "i-1234567890abcdef0"
```
Sortie :  

```
{
    "Associations": [
        {
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "InstanceId": "i-1234567890abcdef0",
            "Content": "{\n    \"schemaVersion\": \"1.2\",\n    \"description\": \"Update the Amazon SSM Agent to the latest version or specified version.\",\n    \"parameters\": {\n        \"version\": {\n            \"default\": \"\",\n            \"description\": \"(Optional) A specific version of the Amazon SSM Agent to install. If not specified, the agent will be updated to the latest version.\",\n            \"type\": \"String\"\n        },\n        \"allowDowngrade\": {\n            \"default\": \"false\",\n            \"description\": \"(Optional) Allow the Amazon SSM Agent service to be downgraded to an earlier version. If set to false, the service can be upgraded to newer versions only (default). If set to true, specify the earlier version.\",\n            \"type\": \"String\",\n            \"allowedValues\": [\n                \"true\",\n                \"false\"\n            ]\n        }\n    },\n    \"runtimeConfig\": {\n        \"aws:updateSsmAgent\": {\n            \"properties\": [\n                {\n                \"agentName\": \"amazon-ssm-agent\",\n                \"source\": \"https://s3.{Region}.amazonaws.com/amazon-ssm-{Region}/ssm-agent-manifest.json\",\n                \"allowDowngrade\": \"{{ allowDowngrade }}\",\n                \"targetVersion\": \"{{ version }}\"\n                }\n            ]\n        }\n    }\n}\n",
            "AssociationVersion": "1"
        }
    ]
}
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeEffectiveInstanceAssociations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-effective-instance-associations.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple décrit les associations effectives d’une instance.**  

```
Get-SSMEffectiveInstanceAssociationList -InstanceId "i-0000293ffd8c57862" -MaxResult 5
```
**Sortie** :  

```
AssociationId                        Content
-------------                        -------
d8617c07-2079-4c18-9847-1655fc2698b0 {...
```
**Exemple 2 : cet exemple affiche le contenu des associations effectives d’une instance.**  

```
(Get-SSMEffectiveInstanceAssociationList -InstanceId "i-0000293ffd8c57862" -MaxResult 5).Content
```
**Sortie** :  

```
{
    "schemaVersion": "1.2",
    "description": "Update the Amazon SSM Agent to the latest version or specified version.",
    "parameters": {
        "version": {
            "default": "",
            "description": "(Optional) A specific version of the Amazon SSM Agent to install. If not specified, the agen
t will be updated to the latest version.",
            "type": "String"
        },
        "allowDowngrade": {
            "default": "false",
            "description": "(Optional) Allow the Amazon SSM Agent service to be downgraded to an earlier version. If set
 to false, the service can be upgraded to newer versions only (default). If set to true, specify the earlier version.",
            "type": "String",
            "allowedValues": [
                "true",
                "false"
            ]
        }
    },
    "runtimeConfig": {
        "aws:updateSsmAgent": {
            "properties": [
                {
                "agentName": "amazon-ssm-agent",
                "source": "https://s3.{Region}.amazonaws.com/amazon-ssm-{Region}/ssm-agent-manifest.json",
                "allowDowngrade": "{{ allowDowngrade }}",
                "targetVersion": "{{ version }}"
                }
            ]
        }
    }
}
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeEffectiveInstanceAssociations](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple décrit les associations effectives d’une instance.**  

```
Get-SSMEffectiveInstanceAssociationList -InstanceId "i-0000293ffd8c57862" -MaxResult 5
```
**Sortie** :  

```
AssociationId                        Content
-------------                        -------
d8617c07-2079-4c18-9847-1655fc2698b0 {...
```
**Exemple 2 : cet exemple affiche le contenu des associations effectives d’une instance.**  

```
(Get-SSMEffectiveInstanceAssociationList -InstanceId "i-0000293ffd8c57862" -MaxResult 5).Content
```
**Sortie** :  

```
{
    "schemaVersion": "1.2",
    "description": "Update the Amazon SSM Agent to the latest version or specified version.",
    "parameters": {
        "version": {
            "default": "",
            "description": "(Optional) A specific version of the Amazon SSM Agent to install. If not specified, the agen
t will be updated to the latest version.",
            "type": "String"
        },
        "allowDowngrade": {
            "default": "false",
            "description": "(Optional) Allow the Amazon SSM Agent service to be downgraded to an earlier version. If set
 to false, the service can be upgraded to newer versions only (default). If set to true, specify the earlier version.",
            "type": "String",
            "allowedValues": [
                "true",
                "false"
            ]
        }
    },
    "runtimeConfig": {
        "aws:updateSsmAgent": {
            "properties": [
                {
                "agentName": "amazon-ssm-agent",
                "source": "https://s3.{Region}.amazonaws.com/amazon-ssm-{Region}/ssm-agent-manifest.json",
                "allowDowngrade": "{{ allowDowngrade }}",
                "targetVersion": "{{ version }}"
                }
            ]
        }
    }
}
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeEffectiveInstanceAssociations](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeEffectivePatchesForPatchBaseline` avec une CLI
<a name="ssm_example_ssm_DescribeEffectivePatchesForPatchBaseline_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeEffectivePatchesForPatchBaseline`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour obtenir tous les correctifs définis par un référentiel de correctifs personnalisé**  
L'`describe-effective-patches-for-patch-baseline`exemple suivant renvoie les correctifs définis par une ligne de base de correctifs personnalisée dans le AWS compte courant. Notez que pour un référentiel personnalisé, seul l’ID est requis pour `--baseline-id`.  

```
aws ssm describe-effective-patches-for-patch-baseline \
    --baseline-id "pb-08b654cf9b9681f04"
```
Sortie :  

```
{
    "EffectivePatches": [
        {
            "Patch": {
                "Id": "fe6bd8c2-3752-4c8b-ab3e-1a7ed08767ba",
                "ReleaseDate": 1544047205.0,
                "Title": "2018-11 Update for Windows Server 2019 for x64-based Systems (KB4470788)",
                "Description": "Install this update to resolve issues in Windows. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article for more information. After you install this item, you may have to restart your computer.",
                "ContentUrl": "https://support.microsoft.com/en-us/kb/4470788",
                "Vendor": "Microsoft",
                "ProductFamily": "Windows",
                "Product": "WindowsServer2019",
                "Classification": "SecurityUpdates",
                "MsrcSeverity": "Critical",
                "KbNumber": "KB4470788",
                "MsrcNumber": "",
                "Language": "All"
            },
            "PatchStatus": {
                "DeploymentStatus": "APPROVED",
                "ComplianceLevel": "CRITICAL",
                "ApprovalDate": 1544047205.0
            }
        },
        {
            "Patch": {
                "Id": "915a6b1a-f556-4d83-8f50-b2e75a9a7e58",
                "ReleaseDate": 1549994400.0,
                "Title": "2019-02 Cumulative Update for .NET Framework 3.5 and 4.7.2 for Windows Server 2019 for x64 (KB4483452)",
                "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.",
                "ContentUrl": "https://support.microsoft.com/en-us/kb/4483452",
                "Vendor": "Microsoft",
                "ProductFamily": "Windows",
                "Product": "WindowsServer2019",
                "Classification": "SecurityUpdates",
                "MsrcSeverity": "Important",
                "KbNumber": "KB4483452",
                "MsrcNumber": "",
                "Language": "All"
            },
            "PatchStatus": {
                "DeploymentStatus": "APPROVED",
                "ComplianceLevel": "CRITICAL",
                "ApprovalDate": 1549994400.0
            }
        },
        ...
    ],
    "NextToken": "--token string truncated--"
}
```
**Exemple 2 : pour obtenir tous les correctifs définis par une ligne de base de correctifs AWS gérée**  
L'`describe-effective-patches-for-patch-baseline`exemple suivant renvoie les correctifs définis par une ligne de base de correctifs AWS gérée. Notez que pour une ligne de base AWS gérée, l'ARN de référence complet est requis pour `--baseline-id`  

```
aws ssm describe-effective-patches-for-patch-baseline \
    --baseline-id "arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-020d361a05defe4ed"
```
Consultez l’exemple 1 pour un exemple de sortie.  
Pour plus d’informations, consultez [Comment les correctifs de sécurité sont sélectionnés](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-how-it-works-selection.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeEffectivePatchesForPatchBaseline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-effective-patches-for-patch-baseline.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les référentiels de correctifs, avec une liste de résultats maximale de 1.**  

```
Get-SSMEffectivePatchesForPatchBaseline -BaselineId "pb-0a2f1059b670ebd31" -MaxResult 1
```
**Sortie** :  

```
Patch                                      PatchStatus
-----                                      -----------
Amazon.SimpleSystemsManagement.Model.Patch Amazon.SimpleSystemsManagement.Model.PatchStatus
```
**Exemple 2 : cet exemple affiche le statut des correctifs pour tous les référentiels de correctifs, avec une liste de résultats maximale de 1.**  

```
(Get-SSMEffectivePatchesForPatchBaseline -BaselineId "pb-0a2f1059b670ebd31" -MaxResult 1).PatchStatus
```
**Sortie** :  

```
ApprovalDate          DeploymentStatus
------------          ----------------
12/21/2010 6:00:00 PM APPROVED
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeEffectivePatchesForPatchBaseline](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les référentiels de correctifs, avec une liste de résultats maximale de 1.**  

```
Get-SSMEffectivePatchesForPatchBaseline -BaselineId "pb-0a2f1059b670ebd31" -MaxResult 1
```
**Sortie** :  

```
Patch                                      PatchStatus
-----                                      -----------
Amazon.SimpleSystemsManagement.Model.Patch Amazon.SimpleSystemsManagement.Model.PatchStatus
```
**Exemple 2 : cet exemple affiche le statut des correctifs pour tous les référentiels de correctifs, avec une liste de résultats maximale de 1.**  

```
(Get-SSMEffectivePatchesForPatchBaseline -BaselineId "pb-0a2f1059b670ebd31" -MaxResult 1).PatchStatus
```
**Sortie** :  

```
ApprovalDate          DeploymentStatus
------------          ----------------
12/21/2010 6:00:00 PM APPROVED
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeEffectivePatchesForPatchBaseline](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeInstanceAssociationsStatus` avec une CLI
<a name="ssm_example_ssm_DescribeInstanceAssociationsStatus_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeInstanceAssociationsStatus`.

------
#### [ CLI ]

**AWS CLI**  
**Pour décrire le statut des associations d’une instance**  
Cet exemple montre les détails des associations d’une instance.  
Commande :  

```
aws ssm describe-instance-associations-status --instance-id "i-1234567890abcdef0"
```
Sortie :  

```
{
  "InstanceAssociationStatusInfos": [
      {
          "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
          "Name": "AWS-GatherSoftwareInventory",
          "DocumentVersion": "1",
          "AssociationVersion": "1",
          "InstanceId": "i-1234567890abcdef0",
          "ExecutionDate": 1550501886.0,
          "Status": "Success",
          "ExecutionSummary": "1 out of 1 plugin processed, 1 success, 0 failed, 0 timedout, 0 skipped. ",
          "AssociationName": "Inventory-Association"
      },
      {
          "AssociationId": "5c5a31f6-6dae-46f9-944c-0123456789ab",
          "Name": "AWS-UpdateSSMAgent",
          "DocumentVersion": "1",
          "AssociationVersion": "1",
          "InstanceId": "i-1234567890abcdef0",
          "ExecutionDate": 1550505828.548,
          "Status": "Success",
          "DetailedStatus": "Success",
          "AssociationName": "UpdateSSMAgent"
      }
  ]
}
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstanceAssociationsStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-instance-associations-status.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple montre les détails des associations d’une instance.**  

```
Get-SSMInstanceAssociationsStatus -InstanceId "i-0000293ffd8c57862"
```
**Sortie** :  

```
AssociationId    : d8617c07-2079-4c18-9847-1655fc2698b0
DetailedStatus   : Pending
DocumentVersion  : 1
ErrorCode        :
ExecutionDate    : 2/20/2015 8:31:11 AM
ExecutionSummary : temp_status_change
InstanceId       : i-0000293ffd8c57862
Name             : AWS-UpdateSSMAgent
OutputUrl        :
Status           : Pending
```
**Exemple 2 : cet exemple contrôle le statut des associations de l’instance pour l’ID d’instance donné et affiche ensuite le statut d’exécution de ces associations**  

```
Get-SSMInstanceAssociationsStatus -InstanceId i-012e3cb4df567e8aa | ForEach-Object {Get-SSMAssociationExecution -AssociationId .AssociationId}
```
**Sortie** :  

```
AssociationId         : 512a34a5-c678-1234-1234-12345678db9e
AssociationVersion    : 2
CreatedTime           : 3/2/2019 8:53:29 AM
DetailedStatus        :
ExecutionId           : 512a34a5-c678-1234-1234-12345678db9e
LastExecutionDate     : 1/1/0001 12:00:00 AM
ResourceCountByStatus : {Success=9}
Status                : Success
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstanceAssociationsStatus](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple montre les détails des associations d’une instance.**  

```
Get-SSMInstanceAssociationsStatus -InstanceId "i-0000293ffd8c57862"
```
**Sortie** :  

```
AssociationId    : d8617c07-2079-4c18-9847-1655fc2698b0
DetailedStatus   : Pending
DocumentVersion  : 1
ErrorCode        :
ExecutionDate    : 2/20/2015 8:31:11 AM
ExecutionSummary : temp_status_change
InstanceId       : i-0000293ffd8c57862
Name             : AWS-UpdateSSMAgent
OutputUrl        :
Status           : Pending
```
**Exemple 2 : cet exemple contrôle le statut des associations de l’instance pour l’ID d’instance donné et affiche ensuite le statut d’exécution de ces associations**  

```
Get-SSMInstanceAssociationsStatus -InstanceId i-012e3cb4df567e8aa | ForEach-Object {Get-SSMAssociationExecution -AssociationId .AssociationId}
```
**Sortie** :  

```
AssociationId         : 512a34a5-c678-1234-1234-12345678db9e
AssociationVersion    : 2
CreatedTime           : 3/2/2019 8:53:29 AM
DetailedStatus        :
ExecutionId           : 512a34a5-c678-1234-1234-12345678db9e
LastExecutionDate     : 1/1/0001 12:00:00 AM
ResourceCountByStatus : {Success=9}
Status                : Success
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstanceAssociationsStatus](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeInstanceInformation` avec une CLI
<a name="ssm_example_ssm_DescribeInstanceInformation_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeInstanceInformation`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour décrire les informations relatives aux instances gérées**  
L’exemple `describe-instance-information` suivant récupère les détails de chacune de vos instances gérées.  

```
aws ssm describe-instance-information
```
**Exemple 2 : pour décrire les informations relatives à une instance gérée spécifique**  
L’exemple `describe-instance-information` suivant montre les détails de l’instance gérée `i-028ea792daEXAMPLE`.  

```
aws ssm describe-instance-information \
    --filters "Key=InstanceIds,Values=i-028ea792daEXAMPLE"
```
**Exemple 3 : pour décrire les informations sur les instances gérées avec une clé de balise spécifique**  
L’exemple `describe-instance-information` suivant montre les détails des instances gérées qui ont la clé de balise `DEV`.  

```
aws ssm describe-instance-information \
    --filters "Key=tag-key,Values=DEV"
```
Sortie :  

```
{
    "InstanceInformationList": [
        {
            "InstanceId": "i-028ea792daEXAMPLE",
            "PingStatus": "Online",
            "LastPingDateTime": 1582221233.421,
            "AgentVersion": "2.3.842.0",
            "IsLatestVersion": true,
            "PlatformType": "Linux",
            "PlatformName": "SLES",
            "PlatformVersion": "15.1",
            "ResourceType": "EC2Instance",
            "IPAddress": "192.0.2.0",
            "ComputerName": "ip-198.51.100.0.us-east-2.compute.internal",
            "AssociationStatus": "Success",
            "LastAssociationExecutionDate": 1582220806.0,
            "LastSuccessfulAssociationExecutionDate": 1582220806.0,
            "AssociationOverview": {
                "DetailedStatus": "Success",
                "InstanceAssociationStatusAggregatedCount": {
                    "Success": 2
                }
            }
        }
    ]
}
```
Pour plus d’informations, consultez [Instances gérées](https://docs.aws.amazon.com/systems-manager/latest/userguide/managed_instances.html) dans le* Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstanceInformation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-instance-information.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple montre les détails de chacune de vos instances.**  

```
Get-SSMInstanceInformation
```
**Sortie** :  

```
ActivationId                           :
AgentVersion                           : 2.0.672.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : ip-172-31-44-222.us-west-2.compute.internal
IamRole                                :
InstanceId                             : i-0cb2b964d3e14fd9f
IPAddress                              : 172.31.44.222
IsLatestVersion                        : True
LastAssociationExecutionDate           : 2/24/2017 3:18:09 AM
LastPingDateTime                       : 2/24/2017 3:35:03 AM
LastSuccessfulAssociationExecutionDate : 2/24/2017 3:18:09 AM
Name                                   :
PingStatus                             : ConnectionLost
PlatformName                           : Amazon Linux AMI
PlatformType                           : Linux
PlatformVersion                        : 2016.09
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance
```
**Exemple 2 : Cet exemple montre comment utiliser le paramètre -Filter pour filtrer les résultats uniquement en fonction des instances de AWS Systems Manager situées dans une région `us-east-1` avec un `AgentVersion` de`2.2.800.0`. Vous trouverez une liste des valeurs de clé -Filter valides dans la rubrique de référence de l' InstanceInformation API (https://docs.aws.amazon.com/systems-manager/latest/APIReference/API\$1 InstanceInformation .html \$1systemsmanager -Type- -InstanceInformation). ActivationId**  

```
$Filters = @{
    Key="AgentVersion"
    Values="2.2.800.0"
}
Get-SSMInstanceInformation -Region us-east-1 -Filter $Filters
```
**Sortie** :  

```
ActivationId                           : 
AgentVersion                           : 2.2.800.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : EXAMPLE-EXAMPLE.WORKGROUP
IamRole                                : 
InstanceId                             : i-EXAMPLEb0792d98ce
IPAddress                              : 10.0.0.01
IsLatestVersion                        : False
LastAssociationExecutionDate           : 8/16/2018 12:02:50 AM
LastPingDateTime                       : 8/16/2018 7:40:27 PM
LastSuccessfulAssociationExecutionDate : 8/16/2018 12:02:50 AM
Name                                   : 
PingStatus                             : Online
PlatformName                           : Microsoft Windows Server 2016 Datacenter
PlatformType                           : Windows
PlatformVersion                        : 10.0.14393
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance

ActivationId                           : 
AgentVersion                           : 2.2.800.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : EXAMPLE-EXAMPLE.WORKGROUP
IamRole                                : 
InstanceId                             : i-EXAMPLEac7501d023
IPAddress                              : 10.0.0.02
IsLatestVersion                        : False
LastAssociationExecutionDate           : 8/16/2018 12:00:20 AM
LastPingDateTime                       : 8/16/2018 7:40:35 PM
LastSuccessfulAssociationExecutionDate : 8/16/2018 12:00:20 AM
Name                                   : 
PingStatus                             : Online
PlatformName                           : Microsoft Windows Server 2016 Datacenter
PlatformType                           : Windows
PlatformVersion                        : 10.0.14393
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance
```
**Exemple 3 : Cet exemple montre comment utiliser le InstanceInformationFilterList paramètre - pour filtrer les résultats uniquement en fonction des instances `PlatformTypes` de AWS Systems Manager situées dans `us-east-1` une région avec `Windows` ou`Linux`. Vous trouverez une liste des valeurs InstanceInformationFilterList clés valides dans la rubrique de référence de l' InstanceInformationFilter API (https://docs.aws.amazon.com/systems-manager/latest/APIReference/API\$1 InstanceInformationFilter .html).**  

```
$Filters = @{
   Key="PlatformTypes"
   ValueSet=("Windows","Linux")
}
Get-SSMInstanceInformation -Region us-east-1 -InstanceInformationFilterList $Filters
```
**Sortie** :  

```
ActivationId                           : 
AgentVersion                           : 2.2.800.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : EXAMPLE-EXAMPLE.WORKGROUP
IamRole                                : 
InstanceId                             : i-EXAMPLEb0792d98ce
IPAddress                              : 10.0.0.27
IsLatestVersion                        : False
LastAssociationExecutionDate           : 8/16/2018 12:02:50 AM
LastPingDateTime                       : 8/16/2018 7:40:27 PM
LastSuccessfulAssociationExecutionDate : 8/16/2018 12:02:50 AM
Name                                   : 
PingStatus                             : Online
PlatformName                           : Ubuntu Server 18.04 LTS
PlatformType                           : Linux
PlatformVersion                        : 18.04
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance

ActivationId                           : 
AgentVersion                           : 2.2.800.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : EXAMPLE-EXAMPLE.WORKGROUP
IamRole                                : 
InstanceId                             : i-EXAMPLEac7501d023
IPAddress                              : 10.0.0.100
IsLatestVersion                        : False
LastAssociationExecutionDate           : 8/16/2018 12:00:20 AM
LastPingDateTime                       : 8/16/2018 7:40:35 PM
LastSuccessfulAssociationExecutionDate : 8/16/2018 12:00:20 AM
Name                                   : 
PingStatus                             : Online
PlatformName                           : Microsoft Windows Server 2016 Datacenter
PlatformType                           : Windows
PlatformVersion                        : 10.0.14393
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance
```
**Exemple 4 : Cet exemple répertorie les instances gérées par SSM et les exportations InstanceId PingStatus, LastPingDateTime et PlatformName vers un fichier csv.**  

```
Get-SSMInstanceInformation | Select-Object InstanceId, PingStatus, LastPingDateTime, PlatformName | Export-Csv Instance-details.csv -NoTypeInformation
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstanceInformation](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple montre les détails de chacune de vos instances.**  

```
Get-SSMInstanceInformation
```
**Sortie** :  

```
ActivationId                           :
AgentVersion                           : 2.0.672.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : ip-172-31-44-222.us-west-2.compute.internal
IamRole                                :
InstanceId                             : i-0cb2b964d3e14fd9f
IPAddress                              : 172.31.44.222
IsLatestVersion                        : True
LastAssociationExecutionDate           : 2/24/2017 3:18:09 AM
LastPingDateTime                       : 2/24/2017 3:35:03 AM
LastSuccessfulAssociationExecutionDate : 2/24/2017 3:18:09 AM
Name                                   :
PingStatus                             : ConnectionLost
PlatformName                           : Amazon Linux AMI
PlatformType                           : Linux
PlatformVersion                        : 2016.09
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance
```
**Exemple 2 : Cet exemple montre comment utiliser le paramètre -Filter pour filtrer les résultats uniquement en fonction des instances de AWS Systems Manager situées dans une région `us-east-1` avec un `AgentVersion` de`2.2.800.0`. Vous trouverez une liste des valeurs de clé -Filter valides dans la rubrique de référence de l' InstanceInformation API (https://docs.aws.amazon.com/systems-manager/latest/APIReference/API\$1 InstanceInformation .html \$1systemsmanager -Type- -InstanceInformation). ActivationId**  

```
$Filters = @{
    Key="AgentVersion"
    Values="2.2.800.0"
}
Get-SSMInstanceInformation -Region us-east-1 -Filter $Filters
```
**Sortie** :  

```
ActivationId                           : 
AgentVersion                           : 2.2.800.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : EXAMPLE-EXAMPLE.WORKGROUP
IamRole                                : 
InstanceId                             : i-EXAMPLEb0792d98ce
IPAddress                              : 10.0.0.01
IsLatestVersion                        : False
LastAssociationExecutionDate           : 8/16/2018 12:02:50 AM
LastPingDateTime                       : 8/16/2018 7:40:27 PM
LastSuccessfulAssociationExecutionDate : 8/16/2018 12:02:50 AM
Name                                   : 
PingStatus                             : Online
PlatformName                           : Microsoft Windows Server 2016 Datacenter
PlatformType                           : Windows
PlatformVersion                        : 10.0.14393
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance

ActivationId                           : 
AgentVersion                           : 2.2.800.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : EXAMPLE-EXAMPLE.WORKGROUP
IamRole                                : 
InstanceId                             : i-EXAMPLEac7501d023
IPAddress                              : 10.0.0.02
IsLatestVersion                        : False
LastAssociationExecutionDate           : 8/16/2018 12:00:20 AM
LastPingDateTime                       : 8/16/2018 7:40:35 PM
LastSuccessfulAssociationExecutionDate : 8/16/2018 12:00:20 AM
Name                                   : 
PingStatus                             : Online
PlatformName                           : Microsoft Windows Server 2016 Datacenter
PlatformType                           : Windows
PlatformVersion                        : 10.0.14393
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance
```
**Exemple 3 : Cet exemple montre comment utiliser le InstanceInformationFilterList paramètre - pour filtrer les résultats uniquement en fonction des instances `PlatformTypes` de AWS Systems Manager situées dans `us-east-1` une région avec `Windows` ou`Linux`. Vous trouverez une liste des valeurs InstanceInformationFilterList clés valides dans la rubrique de référence de l' InstanceInformationFilter API (https://docs.aws.amazon.com/systems-manager/latest/APIReference/API\$1 InstanceInformationFilter .html).**  

```
$Filters = @{
   Key="PlatformTypes"
   ValueSet=("Windows","Linux")
}
Get-SSMInstanceInformation -Region us-east-1 -InstanceInformationFilterList $Filters
```
**Sortie** :  

```
ActivationId                           : 
AgentVersion                           : 2.2.800.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : EXAMPLE-EXAMPLE.WORKGROUP
IamRole                                : 
InstanceId                             : i-EXAMPLEb0792d98ce
IPAddress                              : 10.0.0.27
IsLatestVersion                        : False
LastAssociationExecutionDate           : 8/16/2018 12:02:50 AM
LastPingDateTime                       : 8/16/2018 7:40:27 PM
LastSuccessfulAssociationExecutionDate : 8/16/2018 12:02:50 AM
Name                                   : 
PingStatus                             : Online
PlatformName                           : Ubuntu Server 18.04 LTS
PlatformType                           : Linux
PlatformVersion                        : 18.04
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance

ActivationId                           : 
AgentVersion                           : 2.2.800.0
AssociationOverview                    : Amazon.SimpleSystemsManagement.Model.InstanceAggregatedAssociationOverview
AssociationStatus                      : Success
ComputerName                           : EXAMPLE-EXAMPLE.WORKGROUP
IamRole                                : 
InstanceId                             : i-EXAMPLEac7501d023
IPAddress                              : 10.0.0.100
IsLatestVersion                        : False
LastAssociationExecutionDate           : 8/16/2018 12:00:20 AM
LastPingDateTime                       : 8/16/2018 7:40:35 PM
LastSuccessfulAssociationExecutionDate : 8/16/2018 12:00:20 AM
Name                                   : 
PingStatus                             : Online
PlatformName                           : Microsoft Windows Server 2016 Datacenter
PlatformType                           : Windows
PlatformVersion                        : 10.0.14393
RegistrationDate                       : 1/1/0001 12:00:00 AM
ResourceType                           : EC2Instance
```
**Exemple 4 : Cet exemple répertorie les instances gérées par SSM et les exportations InstanceId PingStatus, LastPingDateTime et PlatformName vers un fichier csv.**  

```
Get-SSMInstanceInformation | Select-Object InstanceId, PingStatus, LastPingDateTime, PlatformName | Export-Csv Instance-details.csv -NoTypeInformation
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstanceInformation](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeInstancePatchStates` avec une CLI
<a name="ssm_example_ssm_DescribeInstancePatchStates_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeInstancePatchStates`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir les états récapitulatifs des correctifs pour les instances**  
Cet exemple `describe-instance-patch-states` permet d’obtenir les états récapitulatifs des correctifs pour une instance.  

```
aws ssm describe-instance-patch-states \
    --instance-ids "i-1234567890abcdef0"
```
Sortie :  

```
{
    "InstancePatchStates": [
        {
            "InstanceId": "i-1234567890abcdef0",
            "PatchGroup": "my-patch-group",
            "BaselineId": "pb-0713accee01234567",
            "SnapshotId": "521c3536-930c-4aa9-950e-01234567abcd",
            "CriticalNonCompliantCount": 2,
            "SecurityNonCompliantCount": 2,
            "OtherNonCompliantCount": 1,
            "InstalledCount": 123,
            "InstalledOtherCount": 334,
            "InstalledPendingRebootCount": 0,
            "InstalledRejectedCount": 0,
            "MissingCount": 1,
            "FailedCount": 2,
            "UnreportedNotApplicableCount": 11,
            "NotApplicableCount": 2063,
            "OperationStartTime": "2021-05-03T11:00:56-07:00",
            "OperationEndTime": "2021-05-03T11:01:09-07:00",
            "Operation": "Scan",
            "LastNoRebootInstallOperationTime": "2020-06-14T12:17:41-07:00",
            "RebootOption": "RebootIfNeeded"
        }
    ]
}
```
Pour plus d’informations, consultez [À propos de la conformité des correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/about-patch-compliance.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatchStates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-instance-patch-states.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet d’obtenir les états récapitulatifs des correctifs pour une instance.**  

```
Get-SSMInstancePatchState -InstanceId "i-08ee91c0b17045407"
```
**Exemple 2 : cet exemple permet d’obtenir les états récapitulatifs des correctifs pour deux instances.**  

```
Get-SSMInstancePatchState -InstanceId "i-08ee91c0b17045407","i-09a618aec652973a9"
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatchStates](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet d’obtenir les états récapitulatifs des correctifs pour une instance.**  

```
Get-SSMInstancePatchState -InstanceId "i-08ee91c0b17045407"
```
**Exemple 2 : cet exemple permet d’obtenir les états récapitulatifs des correctifs pour deux instances.**  

```
Get-SSMInstancePatchState -InstanceId "i-08ee91c0b17045407","i-09a618aec652973a9"
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatchStates](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeInstancePatchStatesForPatchGroup` avec une CLI
<a name="ssm_example_ssm_DescribeInstancePatchStatesForPatchGroup_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeInstancePatchStatesForPatchGroup`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour obtenir les états d’instance d’un groupe de correctifs**  
L’exemple `describe-instance-patch-states-for-patch-group` suivant obtient des détails sur les états récapitulatifs des correctifs par instance pour le groupe de correctifs spécifié.  

```
aws ssm describe-instance-patch-states-for-patch-group \
    --patch-group "Production"
```
Sortie :  

```
{
    "InstancePatchStates": [
        {
            "InstanceId": "i-02573cafcfEXAMPLE",
            "PatchGroup": "Production",
            "BaselineId": "pb-0c10e65780EXAMPLE",
            "SnapshotId": "a3f5ff34-9bc4-4d2c-a665-4d1c1EXAMPLE",
            "OwnerInformation": "",
            "InstalledCount": 32,
            "InstalledOtherCount": 1,
            "InstalledPendingRebootCount": 0,
            "InstalledRejectedCount": 0,
            "MissingCount": 2,
            "FailedCount": 0,
            "UnreportedNotApplicableCount": 2671,
            "NotApplicableCount": 400,
            "OperationStartTime": "2021-08-04T11:03:50.590000-07:00",
            "OperationEndTime": "2021-08-04T11:04:21.555000-07:00",
            "Operation": "Scan",
            "RebootOption": "NoReboot",
            "CriticalNonCompliantCount": 0,
            "SecurityNonCompliantCount": 1,
            "OtherNonCompliantCount": 0
        },
        {
            "InstanceId": "i-0471e04240EXAMPLE",
            "PatchGroup": "Production",
            "BaselineId": "pb-09ca3fb51fEXAMPLE",
            "SnapshotId": "05d8ffb0-1bbe-4812-ba2d-d9b7bEXAMPLE",
            "OwnerInformation": "",
            "InstalledCount": 32,
            "InstalledOtherCount": 1,
            "InstalledPendingRebootCount": 0,
            "InstalledRejectedCount": 0,
            "MissingCount": 2,
            "FailedCount": 0,
            "UnreportedNotApplicableCount": 2671,
            "NotApplicableCount": 400,
            "OperationStartTime": "2021-08-04T22:06:20.340000-07:00",
            "OperationEndTime": "2021-08-04T22:07:11.220000-07:00",
            "Operation": "Scan",
            "RebootOption": "NoReboot",
            "CriticalNonCompliantCount": 0,
            "SecurityNonCompliantCount": 1,
            "OtherNonCompliantCount": 0
        }
    ]
}
```
**Exemple 2 : pour obtenir les états d’instance d’un groupe de correctifs avec plus de cinq correctifs manquants**  
L’exemple `describe-instance-patch-states-for-patch-group` suivant obtient des détails sur les états récapitulatifs des correctifs pour le groupe de correctifs spécifié pour les instances ayant plus de cinq correctifs manquants.  

```
aws ssm describe-instance-patch-states-for-patch-group \
    --filters Key=MissingCount,Type=GreaterThan,Values=5 \
    --patch-group "Production"
```
Sortie :  

```
{
    "InstancePatchStates": [
        {
            "InstanceId": "i-02573cafcfEXAMPLE",
            "PatchGroup": "Production",
            "BaselineId": "pb-0c10e65780EXAMPLE",
            "SnapshotId": "a3f5ff34-9bc4-4d2c-a665-4d1c1EXAMPLE",
            "OwnerInformation": "",
            "InstalledCount": 46,
            "InstalledOtherCount": 4,
            "InstalledPendingRebootCount": 1,
            "InstalledRejectedCount": 1,
            "MissingCount": 7,
            "FailedCount": 0,
            "UnreportedNotApplicableCount": 232,
            "NotApplicableCount": 654,
            "OperationStartTime": "2021-08-04T11:03:50.590000-07:00",
            "OperationEndTime": "2021-08-04T11:04:21.555000-07:00",
            "Operation": "Scan",
            "RebootOption": "NoReboot",
            "CriticalNonCompliantCount": 0,
            "SecurityNonCompliantCount": 1,
            "OtherNonCompliantCount": 1
        }
    ]
}
```
**Exemple 3 : pour obtenir les états d’instance pour un groupe de correctifs avec moins de dix instances qui nécessitent un redémarrage**  
L’exemple `describe-instance-patch-states-for-patch-group` suivant récupère les détails des états récapitulatifs des correctifs pour le groupe de correctifs spécifié pour les instances avec moins de dix instances qui nécessitent un redémarrage.  

```
aws ssm describe-instance-patch-states-for-patch-group \
    --filters Key=InstalledPendingRebootCount,Type=LessThan,Values=10 \
    --patch-group "Production"
```
Sortie :  

```
{
    "InstancePatchStates": [
        {
            "InstanceId": "i-02573cafcfEXAMPLE",
            "BaselineId": "pb-0c10e65780EXAMPLE",
            "SnapshotId": "a3f5ff34-9bc4-4d2c-a665-4d1c1EXAMPLE",
            "PatchGroup": "Production",
            "OwnerInformation": "",
            "InstalledCount": 32,
            "InstalledOtherCount": 1,
            "InstalledPendingRebootCount": 4,
            "InstalledRejectedCount": 0,
            "MissingCount": 2,
            "FailedCount": 0,
            "UnreportedNotApplicableCount": 846,
            "NotApplicableCount": 212,
            "OperationStartTime": "2021-08-046T11:03:50.590000-07:00",
            "OperationEndTime": "2021-08-06T11:04:21.555000-07:00",
            "Operation": "Scan",
            "RebootOption": "NoReboot",
            "CriticalNonCompliantCount": 0,
            "SecurityNonCompliantCount": 1,
            "OtherNonCompliantCount": 0
        }
    ]
}
```
Pour plus d’informations, consultez [Comprendre les valeurs des états de conformité des correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/about-patch-compliance-states.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatchStatesForPatchGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-instance-patch-states-for-patch-group.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet d’obtenir les états récapitulatifs des correctifs par instance pour un groupe de correctifs.**  

```
Get-SSMInstancePatchStatesForPatchGroup -PatchGroup "Production"
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatchStatesForPatchGroup](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet d’obtenir les états récapitulatifs des correctifs par instance pour un groupe de correctifs.**  

```
Get-SSMInstancePatchStatesForPatchGroup -PatchGroup "Production"
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatchStatesForPatchGroup](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeInstancePatches` avec une CLI
<a name="ssm_example_ssm_DescribeInstancePatches_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeInstancePatches`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour obtenir les détails de l’état des correctifs d’une instance**  
L’exemple `describe-instance-patches` suivant récupère les détails des correctifs pour l’instance spécifiée.  

```
aws ssm describe-instance-patches \
    --instance-id "i-1234567890abcdef0"
```
Sortie :  

```
{
    "Patches": [
        {
            "Title": "2019-01 Security Update for Adobe Flash Player for Windows Server 2016 for x64-based Systems (KB4480979)",
            "KBId": "KB4480979",
            "Classification": "SecurityUpdates",
            "Severity": "Critical",
            "State": "Installed",
            "InstalledTime": "2019-01-09T00:00:00+00:00"
        },
        {
            "Title": "",
            "KBId": "KB4481031",
            "Classification": "",
            "Severity": "",
            "State": "InstalledOther",
            "InstalledTime": "2019-02-08T00:00:00+00:00"
        },
        ...
    ],
    "NextToken": "--token string truncated--"
}
```
**Exemple 2 : pour obtenir une liste de correctifs dans l’état « Manquant » pour une instance**  
L’exemple `describe-instance-patches` suivant obtient les informations sur les correctifs qui sont dans l’état Manquant pour l’instance spécifiée.  

```
aws ssm describe-instance-patches \
    --instance-id "i-1234567890abcdef0" \
    --filters Key=State,Values=Missing
```
Sortie :  

```
{
    "Patches": [
        {
            "Title": "Windows Malicious Software Removal Tool x64 - February 2019 (KB890830)",
            "KBId": "KB890830",
            "Classification": "UpdateRollups",
            "Severity": "Unspecified",
            "State": "Missing",
            "InstalledTime": "1970-01-01T00:00:00+00:00"
        },
        ...
    ],
    "NextToken": "--token string truncated--"
}
```
Pour plus d’informations, consultez [À propos des états de conformité des correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/about-patch-compliance-states.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 3 : pour obtenir la liste des correctifs installés depuis une spécification InstalledTime pour une instance**  
L’exemple `describe-instance-patches` suivant obtient les informations sur les correctifs installés depuis une date donnée pour l’instance spécifiée en combinant l’utilisation de `--filters` et de `--query`.  

```
aws ssm describe-instance-patches \
    --instance-id "i-1234567890abcdef0" \
    --filters Key=State,Values=Installed \
    --query "Patches[?InstalledTime >= `2023-01-01T16:00:00`]"
```
Sortie :  

```
{
    "Patches": [
        {
            "Title": "2023-03 Cumulative Update for Windows Server 2019 (1809) for x64-based Systems (KB5023702)",
            "KBId": "KB5023702",
            "Classification": "SecurityUpdates",
            "Severity": "Critical",
            "State": "Installed",
            "InstalledTime": "2023-03-16T11:00:00+00:00"
        },
        ...
    ],
    "NextToken": "--token string truncated--"
}
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatches](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-instance-patches.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet d’obtenir les détails de la conformité des correctifs pour une instance.**  

```
Get-SSMInstancePatch -InstanceId "i-08ee91c0b17045407"
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatches](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet d’obtenir les détails de la conformité des correctifs pour une instance.**  

```
Get-SSMInstancePatch -InstanceId "i-08ee91c0b17045407"
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeInstancePatches](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeMaintenanceWindowExecutionTaskInvocations` avec une CLI
<a name="ssm_example_ssm_DescribeMaintenanceWindowExecutionTaskInvocations_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeMaintenanceWindowExecutionTaskInvocations`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir les invocations de tâches spécifiques effectuées pour l’exécution d’une tâche de fenêtre de maintenance**  
L’exemple `describe-maintenance-window-execution-task-invocations` suivant répertorie les invocations de la tâche spécifiée exécutée dans le cadre de l’exécution de la fenêtre de maintenance spécifiée.  

```
aws ssm describe-maintenance-window-execution-task-invocations \
    --window-execution-id "518d5565-5969-4cca-8f0e-da3b2a638355" \
    --task-id "ac0c6ae1-daa3-4a89-832e-d384503b6586"
```
Sortie :  

```
{
    "WindowExecutionTaskInvocationIdentities": [
        {
            "Status": "SUCCESS",
            "Parameters": "{\"documentName\":\"AWS-RunShellScript\",\"instanceIds\":[\"i-0000293ffd8c57862\"],\"parameters\":{\"commands\":[\"df\"]},\"maxConcurrency\":\"1\",\"maxErrors\":\"1\"}",
            "InvocationId": "e274b6e1-fe56-4e32-bd2a-8073c6381d8b",
            "StartTime": 1487692834.723,
            "EndTime": 1487692834.871,
            "WindowExecutionId": "518d5565-5969-4cca-8f0e-da3b2a638355",
            "TaskExecutionId": "ac0c6ae1-daa3-4a89-832e-d384503b6586"
        }
    ]
}
```
Pour plus d'informations, consultez la section [Afficher les informations sur les tâches et les exécutions de tâches (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-task-info.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutionTaskInvocations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-maintenance-window-execution-task-invocations.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie les invocations d’une tâche exécutée dans le cadre de l’exécution d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecutionTaskInvocationList -TaskId "ac0c6ae1-daa3-4a89-832e-d384503b6586" -WindowExecutionId "518d5565-5969-4cca-8f0e-da3b2a638355"
```
**Sortie** :  

```
EndTime           : 2/21/2017 4:00:34 PM
ExecutionId       :
InvocationId      : e274b6e1-fe56-4e32-bd2a-8073c6381d8b
OwnerInformation  :
Parameters        : {"documentName":"AWS-RunShellScript","instanceIds":["i-0000293ffd8c57862"],"parameters":{"commands":["df"]},"maxConcurrency":"1",
                    "maxErrors":"1"}
StartTime         : 2/21/2017 4:00:34 PM
Status            : FAILED
StatusDetails     : The instance IDs list contains an invalid entry.
TaskExecutionId   : ac0c6ae1-daa3-4a89-832e-d384503b6586
WindowExecutionId : 518d5565-5969-4cca-8f0e-da3b2a638355
WindowTargetId    :
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutionTaskInvocations](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie les invocations d’une tâche exécutée dans le cadre de l’exécution d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecutionTaskInvocationList -TaskId "ac0c6ae1-daa3-4a89-832e-d384503b6586" -WindowExecutionId "518d5565-5969-4cca-8f0e-da3b2a638355"
```
**Sortie** :  

```
EndTime           : 2/21/2017 4:00:34 PM
ExecutionId       :
InvocationId      : e274b6e1-fe56-4e32-bd2a-8073c6381d8b
OwnerInformation  :
Parameters        : {"documentName":"AWS-RunShellScript","instanceIds":["i-0000293ffd8c57862"],"parameters":{"commands":["df"]},"maxConcurrency":"1",
                    "maxErrors":"1"}
StartTime         : 2/21/2017 4:00:34 PM
Status            : FAILED
StatusDetails     : The instance IDs list contains an invalid entry.
TaskExecutionId   : ac0c6ae1-daa3-4a89-832e-d384503b6586
WindowExecutionId : 518d5565-5969-4cca-8f0e-da3b2a638355
WindowTargetId    :
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutionTaskInvocations](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeMaintenanceWindowExecutionTasks` avec une CLI
<a name="ssm_example_ssm_DescribeMaintenanceWindowExecutionTasks_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeMaintenanceWindowExecutionTasks`.

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier toutes les tâches associées à l’exécution d’une fenêtre de maintenance**  
L’exemple `ssm describe-maintenance-window-execution-tasks` suivant répertorie les tâches associées à l’exécution de la fenêtre de maintenance spécifiée.  

```
aws ssm describe-maintenance-window-execution-tasks \
    --window-execution-id "518d5565-5969-4cca-8f0e-da3b2EXAMPLE"
```
Sortie :  

```
{
    "WindowExecutionTaskIdentities": [
        {
            "Status": "SUCCESS",
            "TaskArn": "AWS-RunShellScript",
            "StartTime": 1487692834.684,
            "TaskType": "RUN_COMMAND",
            "EndTime": 1487692835.005,
            "WindowExecutionId": "518d5565-5969-4cca-8f0e-da3b2EXAMPLE",
            "TaskExecutionId": "ac0c6ae1-daa3-4a89-832e-d3845EXAMPLE"
        }
    ]
}
```
Pour plus d'informations, consultez la section [Afficher les informations sur les tâches et les exécutions de tâches (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-task-info.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutionTasks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-maintenance-window-execution-tasks.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie les tâches associées à l’exécution d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecutionTaskList -WindowExecutionId "518d5565-5969-4cca-8f0e-da3b2a638355"
```
**Sortie** :  

```
EndTime           : 2/21/2017 4:00:35 PM
StartTime         : 2/21/2017 4:00:34 PM
Status            : SUCCESS
TaskArn           : AWS-RunShellScript
TaskExecutionId   : ac0c6ae1-daa3-4a89-832e-d384503b6586
TaskType          : RUN_COMMAND
WindowExecutionId : 518d5565-5969-4cca-8f0e-da3b2a638355
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutionTasks](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie les tâches associées à l’exécution d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecutionTaskList -WindowExecutionId "518d5565-5969-4cca-8f0e-da3b2a638355"
```
**Sortie** :  

```
EndTime           : 2/21/2017 4:00:35 PM
StartTime         : 2/21/2017 4:00:34 PM
Status            : SUCCESS
TaskArn           : AWS-RunShellScript
TaskExecutionId   : ac0c6ae1-daa3-4a89-832e-d384503b6586
TaskType          : RUN_COMMAND
WindowExecutionId : 518d5565-5969-4cca-8f0e-da3b2a638355
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutionTasks](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeMaintenanceWindowExecutions` avec une CLI
<a name="ssm_example_ssm_DescribeMaintenanceWindowExecutions_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeMaintenanceWindowExecutions`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier toutes les exécutions pour une fenêtre de maintenance**  
L’exemple `describe-maintenance-window-executions` suivant répertorie toutes les exécutions pour la fenêtre de maintenance spécifiée.  

```
aws ssm describe-maintenance-window-executions \
    --window-id "mw-ab12cd34eEXAMPLE"
```
Sortie :  

```
{
    "WindowExecutions": [
        {
            "WindowId": "mw-ab12cd34eEXAMPLE",
            "WindowExecutionId": "6027b513-64fe-4cf0-be7d-1191aEXAMPLE",
            "Status": "IN_PROGRESS",
            "StartTime": "2021-08-04T11:00:00.000000-07:00"

        },
        {
            "WindowId": "mw-ab12cd34eEXAMPLE",
            "WindowExecutionId": "ff75b750-4834-4377-8f61-b3cadEXAMPLE",
            "Status": "SUCCESS",
            "StartTime": "2021-08-03T11:00:00.000000-07:00",
            "EndTime": "2021-08-03T11:37:21.450000-07:00"
        },
        {
            "WindowId": "mw-ab12cd34eEXAMPLE",
            "WindowExecutionId": "9fac7dd9-ff21-42a5-96ad-bbc4bEXAMPLE",
            "Status": "FAILED",
            "StatusDetails": "One or more tasks in the orchestration failed.",
            "StartTime": "2021-08-02T11:00:00.000000-07:00",
            "EndTime": "2021-08-02T11:22:36.190000-07:00"
        }
    ]
}
```
**Exemple 2 : pour répertorier toutes les exécutions pour une fenêtre de maintenance avant une date spécifiée**  
L’exemple `describe-maintenance-window-executions` suivant répertorie toutes les exécutions pour la fenêtre de maintenance spécifiée avant la date spécifiée.  

```
aws ssm describe-maintenance-window-executions \
    --window-id "mw-ab12cd34eEXAMPLE" \
    --filters "Key=ExecutedBefore,Values=2021-08-03T00:00:00Z"
```
Sortie :  

```
{
    "WindowExecutions": [
        {
        "WindowId": "mw-ab12cd34eEXAMPLE",
        "WindowExecutionId": "9fac7dd9-ff21-42a5-96ad-bbc4bEXAMPLE",
        "Status": "FAILED",
        "StatusDetails": "One or more tasks in the orchestration failed.",
        "StartTime": "2021-08-02T11:00:00.000000-07:00",
        "EndTime": "2021-08-02T11:22:36.190000-07:00"
    }
    ]
}
```
**Exemple 3 : pour répertorier toutes les exécutions pour une fenêtre de maintenance après une date spécifiée**  
L’exemple `describe-maintenance-window-executions` suivant répertorie toutes les exécutions pour la fenêtre de maintenance spécifiée après la date spécifiée.  

```
aws ssm describe-maintenance-window-executions \
    --window-id "mw-ab12cd34eEXAMPLE" \
    --filters "Key=ExecutedAfter,Values=2021-08-04T00:00:00Z"
```
Sortie :  

```
{
    "WindowExecutions": [
        {
        "WindowId": "mw-ab12cd34eEXAMPLE",
        "WindowExecutionId": "6027b513-64fe-4cf0-be7d-1191aEXAMPLE",
        "Status": "IN_PROGRESS",
        "StartTime": "2021-08-04T11:00:00.000000-07:00"
        }
    ]
}
```
Pour plus d'informations, consultez la section [Afficher les informations relatives aux tâches et aux exécutions de tâches (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-task-info.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-maintenance-window-executions.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les exécutions pour une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecutionList -WindowId "mw-03eb9db42890fb82d"
```
**Sortie** :  

```
EndTime           : 2/20/2017 6:30:17 PM
StartTime         : 2/20/2017 6:30:16 PM
Status            : FAILED
StatusDetails     : One or more tasks in the orchestration failed.
WindowExecutionId : 6f3215cf-4101-4fa0-9b7b-9523269599c7
WindowId          : mw-03eb9db42890fb82d
```
**Exemple 2 : cet exemple répertorie toutes les exécutions pour une fenêtre de maintenance avant une date spécifiée.**  

```
$option1 = @{Key="ExecutedBefore";Values=@("2016-11-04T05:00:00Z")}
Get-SSMMaintenanceWindowExecutionList -WindowId "mw-03eb9db42890fb82d" -Filter $option1
```
**Exemple 3 : cet exemple répertorie toutes les exécutions d’une fenêtre de maintenance après une date spécifiée.**  

```
$option1 = @{Key="ExecutedAfter";Values=@("2016-11-04T05:00:00Z")}
Get-SSMMaintenanceWindowExecutionList -WindowId "mw-03eb9db42890fb82d" -Filter $option1
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutions](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les exécutions pour une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecutionList -WindowId "mw-03eb9db42890fb82d"
```
**Sortie** :  

```
EndTime           : 2/20/2017 6:30:17 PM
StartTime         : 2/20/2017 6:30:16 PM
Status            : FAILED
StatusDetails     : One or more tasks in the orchestration failed.
WindowExecutionId : 6f3215cf-4101-4fa0-9b7b-9523269599c7
WindowId          : mw-03eb9db42890fb82d
```
**Exemple 2 : cet exemple répertorie toutes les exécutions pour une fenêtre de maintenance avant une date spécifiée.**  

```
$option1 = @{Key="ExecutedBefore";Values=@("2016-11-04T05:00:00Z")}
Get-SSMMaintenanceWindowExecutionList -WindowId "mw-03eb9db42890fb82d" -Filter $option1
```
**Exemple 3 : cet exemple répertorie toutes les exécutions d’une fenêtre de maintenance après une date spécifiée.**  

```
$option1 = @{Key="ExecutedAfter";Values=@("2016-11-04T05:00:00Z")}
Get-SSMMaintenanceWindowExecutionList -WindowId "mw-03eb9db42890fb82d" -Filter $option1
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowExecutions](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeMaintenanceWindowTargets` avec une CLI
<a name="ssm_example_ssm_DescribeMaintenanceWindowTargets_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeMaintenanceWindowTargets`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier toutes les cibles d’une fenêtre de maintenance**  
L’exemple `describe-maintenance-window-targets` suivant répertorie toutes les cibles d’une fenêtre de maintenance.  

```
aws ssm describe-maintenance-window-targets \
    --window-id "mw-06cf17cbefEXAMPLE"
```
Sortie :  

```
{
    "Targets": [
        {
            "ResourceType": "INSTANCE",
            "OwnerInformation": "Single instance",
            "WindowId": "mw-06cf17cbefEXAMPLE",
            "Targets": [
                {
                    "Values": [
                        "i-0000293ffdEXAMPLE"
                    ],
                    "Key": "InstanceIds"
                }
            ],
            "WindowTargetId": "350d44e6-28cc-44e2-951f-4b2c9EXAMPLE"
        },
        {
            "ResourceType": "INSTANCE",
            "OwnerInformation": "Two instances in a list",
            "WindowId": "mw-06cf17cbefEXAMPLE",
            "Targets": [
                {
                    "Values": [
                        "i-0000293ffdEXAMPLE",
                        "i-0cb2b964d3EXAMPLE"
                    ],
                    "Key": "InstanceIds"
                }
            ],
            "WindowTargetId": "e078a987-2866-47be-bedd-d9cf4EXAMPLE"
        }
    ]
}
```
**Exemple 2 : pour répertorier toutes les cibles d’une fenêtre de maintenance qui correspondent à une valeur d’information spécifique sur le propriétaire**  
L’exemple `describe-maintenance-window-targets` suivant répertorie toutes les cibles d’une fenêtre de maintenance correspondant à une valeur spécifique.  

```
aws ssm describe-maintenance-window-targets \
    --window-id "mw-0ecb1226ddEXAMPLE" \
    --filters "Key=OwnerInformation,Values=CostCenter1"
```
Sortie :  

```
{
    "Targets": [
        {
            "WindowId": "mw-0ecb1226ddEXAMPLE",
            "WindowTargetId": "da89dcc3-7f9c-481d-ba2b-edcb7d0057f9",
            "ResourceType": "INSTANCE",
            "Targets": [
                {
                    "Key": "tag:Environment",
                    "Values": [
                        "Prod"
                    ]
                }
            ],
            "OwnerInformation": "CostCenter1",
            "Name": "ProdTarget1"
        }
    ]
}
```
Pour plus d'informations, consultez la section [Afficher les informations relatives à la maintenance de Windows (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-cli-tutorials-describe.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowTargets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-maintenance-window-targets.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les cibles d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowTarget -WindowId "mw-06cf17cbefcb4bf4f"
```
**Sortie** :  

```
OwnerInformation : Single instance
ResourceType     : INSTANCE
Targets          : {InstanceIds}
WindowId         : mw-06cf17cbefcb4bf4f
WindowTargetId   : 350d44e6-28cc-44e2-951f-4b2c985838f6

OwnerInformation : Two instances in a list
ResourceType     : INSTANCE
Targets          : {InstanceIds}
WindowId         : mw-06cf17cbefcb4bf4f
WindowTargetId   : e078a987-2866-47be-bedd-d9cf49177d3a
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowTargets](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les cibles d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowTarget -WindowId "mw-06cf17cbefcb4bf4f"
```
**Sortie** :  

```
OwnerInformation : Single instance
ResourceType     : INSTANCE
Targets          : {InstanceIds}
WindowId         : mw-06cf17cbefcb4bf4f
WindowTargetId   : 350d44e6-28cc-44e2-951f-4b2c985838f6

OwnerInformation : Two instances in a list
ResourceType     : INSTANCE
Targets          : {InstanceIds}
WindowId         : mw-06cf17cbefcb4bf4f
WindowTargetId   : e078a987-2866-47be-bedd-d9cf49177d3a
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowTargets](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeMaintenanceWindowTasks` avec une CLI
<a name="ssm_example_ssm_DescribeMaintenanceWindowTasks_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeMaintenanceWindowTasks`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier toutes les tâches d’une fenêtre de maintenance**  
L’exemple `describe-maintenance-window-tasks` suivant répertorie toutes les tâches pour la fenêtre de maintenance spécifiée.  

```
aws ssm describe-maintenance-window-tasks \
    --window-id "mw-06cf17cbefEXAMPLE"
```
Sortie :  

```
{
    "Tasks": [
        {
            "WindowId": "mw-06cf17cbefEXAMPLE",
            "WindowTaskId": "018b31c3-2d77-4b9e-bd48-c91edEXAMPLE",
            "TaskArn": "AWS-RestartEC2Instance",
            "TaskParameters": {},
            "Type": "AUTOMATION",
            "Description": "Restarting EC2 Instance for maintenance",
            "MaxConcurrency": "1",
            "MaxErrors": "1",
            "Name": "My-Automation-Example-Task",
            "Priority": 0,
            "ServiceRoleArn": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
            "Targets": [
                {
                    "Key": "WindowTargetIds",
                    "Values": [
                        "da89dcc3-7f9c-481d-ba2b-edcb7EXAMPLE"
                    ]
                }
            ]
        },
        {
            "WindowId": "mw-06cf17cbefEXAMPLE",
            "WindowTaskId": "1943dee0-0a17-4978-9bf4-3cc2fEXAMPLE",
            "TaskArn": "AWS-DisableS3BucketPublicReadWrite",
            "TaskParameters": {},
            "Type": "AUTOMATION",
            "Description": "Automation task to disable read/write access on public S3 buckets",
            "MaxConcurrency": "10",
            "MaxErrors": "5",
            "Name": "My-Disable-S3-Public-Read-Write-Access-Automation-Task",
            "Priority": 0,
            "ServiceRoleArn": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
            "Targets": [
                {
                    "Key": "WindowTargetIds",
                    "Values": [
                        "da89dcc3-7f9c-481d-ba2b-edcb7EXAMPLE"
                    ]
                }
            ]
        }
    ]
}
```
**Exemple 2 : Pour répertorier toutes les tâches d'une fenêtre de maintenance qui invoque le document de RunPowerShellScript commande AWS-**  
L’exemple `describe-maintenance-window-tasks` suivant répertorie toutes les tâches de la fenêtre de maintenance spécifiée qui invoque le document de commande `AWS-RunPowerShellScript`.  

```
aws ssm describe-maintenance-window-tasks \
    --window-id "mw-ab12cd34eEXAMPLE" \
    --filters "Key=TaskArn,Values=AWS-RunPowerShellScript"
```
Sortie :  

```
{
    "Tasks": [
        {
            "WindowId": "mw-ab12cd34eEXAMPLE",
            "WindowTaskId": "0d36e6b4-3a4f-411e-adcb-3558eEXAMPLE",
            "TaskArn": "AWS-RunPowerShellScript",
            "Type": "RUN_COMMAND",
            "Targets": [
                {
                    "Key": "WindowTargetIds",
                    "Values": [
                        "da89dcc3-7f9c-481d-ba2b-edcb7EXAMPLE"
                    ]
                }
            ],
            "TaskParameters": {},
            "Priority": 1,
            "ServiceRoleArn": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
            "MaxConcurrency": "1",
            "MaxErrors": "1",
            "Name": "MyTask"
        }
    ]
}
```
**Exemple 3 : pour répertorier toutes les tâches d’une fenêtre de maintenance dont la priorité est de 3**  
L’exemple `describe-maintenance-window-tasks` suivant liste toutes les tâches de la fenêtre de maintenance spécifiée qui ont une `Priority` de `3`.  

```
aws ssm describe-maintenance-window-tasks \
    --window-id "mw-ab12cd34eEXAMPLE" \
    --filters "Key=Priority,Values=3"
```
Sortie :  

```
{
    "Tasks": [
        {
            "WindowId": "mw-ab12cd34eEXAMPLE",
            "WindowTaskId": "0d36e6b4-3a4f-411e-adcb-3558eEXAMPLE",
            "TaskArn": "AWS-RunPowerShellScript",
            "Type": "RUN_COMMAND",
            "Targets": [
                {
                    "Key": "WindowTargetIds",
                    "Values": [
                        "da89dcc3-7f9c-481d-ba2b-edcb7EXAMPLE"
                    ]
                }
            ],
            "TaskParameters": {},
            "Priority": 3,
            "ServiceRoleArn": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
            "MaxConcurrency": "1",
            "MaxErrors": "1",
            "Name": "MyRunCommandTask"
        },
        {
            "WindowId": "mw-ab12cd34eEXAMPLE",
            "WindowTaskId": "ee45feff-ad65-4a6c-b478-5cab8EXAMPLE",
            "TaskArn": "AWS-RestartEC2Instance",
            "Type": "AUTOMATION",
            "Targets": [
                {
                    "Key": "WindowTargetIds",
                    "Values": [
                        "da89dcc3-7f9c-481d-ba2b-edcb7EXAMPLE"
                    ]
                }
            ],
            "TaskParameters": {},
            "Priority": 3,
            "ServiceRoleArn": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
            "MaxConcurrency": "10",
            "MaxErrors": "5",
            "Name": "My-Automation-Task",
            "Description": "A description for my Automation task"
        }
    ]
}
```
**Exemple 4 : pour répertorier toutes les tâches d’une fenêtre de maintenance qui ont une priorité de 1 et qui utilisent Run Command**  
Cet exemple `describe-maintenance-window-tasks` répertorie toutes les tâches de la fenêtre de maintenance spécifiée qui ont une `Priority` de `1` et qui utilisent `Run Command`.  

```
aws ssm describe-maintenance-window-tasks \
    --window-id "mw-ab12cd34eEXAMPLE" \
    --filters "Key=Priority,Values=1" "Key=TaskType,Values=RUN_COMMAND"
```
Sortie :  

```
{
    "Tasks": [
        {
            "WindowId": "mw-ab12cd34eEXAMPLE",
            "WindowTaskId": "0d36e6b4-3a4f-411e-adcb-3558eEXAMPLE",
            "TaskArn": "AWS-RunPowerShellScript",
            "Type": "RUN_COMMAND",
            "Targets": [
                {
                    "Key": "WindowTargetIds",
                    "Values": [
                        "da89dcc3-7f9c-481d-ba2b-edcb7EXAMPLE"
                    ]
                }
            ],
            "TaskParameters": {},
            "Priority": 1,
            "ServiceRoleArn": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
            "MaxConcurrency": "1",
            "MaxErrors": "1",
            "Name": "MyRunCommandTask"
        }
    ]
}
```
Pour plus d'informations, consultez la section [Afficher les informations sur les fenêtres de maintenance (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-cli-tutorials-describe.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowTasks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-maintenance-window-tasks.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les tâches d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowTaskList -WindowId "mw-06cf17cbefcb4bf4f"
```
**Sortie** :  

```
LoggingInfo    :
MaxConcurrency : 1
MaxErrors      : 1
Priority       : 10
ServiceRoleArn : arn:aws:iam::123456789012:role/MaintenanceWindowsRole
Targets        : {InstanceIds}
TaskArn        : AWS-RunShellScript
TaskParameters : {[commands, Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression]}
Type           : RUN_COMMAND
WindowId       : mw-06cf17cbefcb4bf4f
WindowTaskId   : a23e338d-ff30-4398-8aa3-09cd052ebf17
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowTasks](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les tâches d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowTaskList -WindowId "mw-06cf17cbefcb4bf4f"
```
**Sortie** :  

```
LoggingInfo    :
MaxConcurrency : 1
MaxErrors      : 1
Priority       : 10
ServiceRoleArn : arn:aws:iam::123456789012:role/MaintenanceWindowsRole
Targets        : {InstanceIds}
TaskArn        : AWS-RunShellScript
TaskParameters : {[commands, Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression]}
Type           : RUN_COMMAND
WindowId       : mw-06cf17cbefcb4bf4f
WindowTaskId   : a23e338d-ff30-4398-8aa3-09cd052ebf17
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindowTasks](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribeMaintenanceWindows` avec une CLI
<a name="ssm_example_ssm_DescribeMaintenanceWindows_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeMaintenanceWindows`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier toutes les fenêtres de maintenance**  
L'`describe-maintenance-windows`exemple suivant répertorie toutes les fenêtres de maintenance de votre AWS compte dans la région actuelle.  

```
aws ssm describe-maintenance-windows
```
Sortie :  

```
{
    "WindowIdentities": [
        {
            "WindowId": "mw-0ecb1226ddEXAMPLE",
            "Name": "MyMaintenanceWindow-1",
            "Enabled": true,
            "Duration": 2,
            "Cutoff": 1,
            "Schedule": "rate(180 minutes)",
            "NextExecutionTime": "2020-02-12T23:19:20.596Z"
        },
        {
            "WindowId": "mw-03eb9db428EXAMPLE",
            "Name": "MyMaintenanceWindow-2",
            "Enabled": true,
            "Duration": 3,
            "Cutoff": 1,
            "Schedule": "rate(7 days)",
            "NextExecutionTime": "2020-02-17T23:22:00.956Z"
        },
    ]
}
```
**Exemple 2 : pour répertorier toutes les fenêtres de maintenance activées**  
L’exemple `describe-maintenance-windows` suivant répertorie toutes les fenêtres de maintenance activées.  

```
aws ssm describe-maintenance-windows \
    --filters "Key=Enabled,Values=true"
```
**Exemple 3 : pour répertorier les fenêtres de maintenance qui correspondent à un nom spécifique**  
Cet exemple `describe-maintenance-windows` répertorie toutes les fenêtres de maintenance portant le nom spécifié.  

```
aws ssm describe-maintenance-windows \
    --filters "Key=Name,Values=MyMaintenanceWindow"
```
Pour plus d'informations, consultez la section [Afficher les informations relatives à la maintenance de Windows (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-cli-tutorials-describe.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindows](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-maintenance-windows.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les fenêtres de maintenance de votre compte.**  

```
Get-SSMMaintenanceWindowList
```
**Sortie** :  

```
Cutoff   : 1
Duration : 4
Enabled  : True
Name     : My-First-Maintenance-Window
WindowId : mw-06d59c1a07c022145
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindows](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les fenêtres de maintenance de votre compte.**  

```
Get-SSMMaintenanceWindowList
```
**Sortie** :  

```
Cutoff   : 1
Duration : 4
Enabled  : True
Name     : My-First-Maintenance-Window
WindowId : mw-06d59c1a07c022145
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeMaintenanceWindows](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `DescribeOpsItems` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_DescribeOpsItems_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeOpsItems`.

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier un ensemble de OpsItems**  
L'`describe-ops-items`exemple suivant affiche une liste de toutes les offres ouvertes OpsItems dans votre AWS compte.  

```
aws ssm describe-ops-items \
    --ops-item-filters "Key=Status,Values=Open,Operator=Equal"
```
Sortie :  

```
{
    "OpsItemSummaries": [
        {
            "CreatedBy": "arn:aws:sts::111222333444:assumed-role/OpsItem-CWE-Role/fbf77cbe264a33509569f23e4EXAMPLE",
            "CreatedTime": "2020-03-14T17:02:46.375000-07:00",
            "LastModifiedBy": "arn:aws:sts::111222333444:assumed-role/OpsItem-CWE-Role/fbf77cbe264a33509569f23e4EXAMPLE",
            "LastModifiedTime": "2020-03-14T17:02:46.375000-07:00",
            "Source": "SSM",
            "Status": "Open",
            "OpsItemId": "oi-7cfc5EXAMPLE",
            "Title": "SSM Maintenance Window execution failed",
            "OperationalData": {
                "/aws/dedup": {
                    "Value": "{\"dedupString\":\"SSMOpsItems-SSM-maintenance-window-execution-failed\"}",
                    "Type": "SearchableString"
                },
                "/aws/resources": {
                    "Value": "[{\"arn\":\"arn:aws:ssm:us-east-2:111222333444:maintenancewindow/mw-034093d322EXAMPLE\"}]",
                    "Type": "SearchableString"
                }
            },
            "Category": "Availability",
            "Severity": "3"
        },
        {
            "CreatedBy": "arn:aws:sts::1112223233444:assumed-role/OpsItem-CWE-Role/fbf77cbe264a33509569f23e4EXAMPLE",
            "CreatedTime": "2020-02-26T11:43:15.426000-08:00",
            "LastModifiedBy": "arn:aws:sts::111222333444:assumed-role/OpsItem-CWE-Role/fbf77cbe264a33509569f23e4EXAMPLE",
            "LastModifiedTime": "2020-02-26T11:43:15.426000-08:00",
            "Source": "EC2",
            "Status": "Open",
            "OpsItemId": "oi-6f966EXAMPLE",
            "Title": "EC2 instance stopped",
            "OperationalData": {
                "/aws/automations": {
                    "Value": "[ { \"automationType\": \"AWS:SSM:Automation\", \"automationId\": \"AWS-RestartEC2Instance\" } ]",
                    "Type": "SearchableString"
                },
                "/aws/dedup": {
                    "Value": "{\"dedupString\":\"SSMOpsItems-EC2-instance-stopped\"}",
                    "Type": "SearchableString"
                },
                "/aws/resources": {
                    "Value": "[{\"arn\":\"arn:aws:ec2:us-east-2:111222333444:instance/i-0beccfbc02EXAMPLE\"}]",
                    "Type": "SearchableString"
                }
            },
            "Category": "Availability",
            "Severity": "3"
        }
    ]
}
```
Pour plus d'informations, reportez-vous à la section [Travailler avec OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeOpsItems](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-ops-items.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Describes AWS SSM OpsItems asynchronously.
     *
     * @param key The key to filter OpsItems by (e.g., OPS_ITEM_ID).
     *
     * This method initiates an asynchronous request to describe SSM OpsItems.
     * If the request is successful, it prints the title and status of each OpsItem.
     * If an exception occurs, it handles the error appropriately.
     */
    public void describeOpsItems(String key) {
        OpsItemFilter filter = OpsItemFilter.builder()
                .key(OpsItemFilterKey.OPS_ITEM_ID)
                .values(key)
                .operator(OpsItemFilterOperator.EQUAL)
                .build();

        DescribeOpsItemsRequest itemsRequest = DescribeOpsItemsRequest.builder()
                .maxResults(10)
                .opsItemFilters(filter)
                .build();

        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            getAsyncClient().describeOpsItems(itemsRequest)
                    .thenAccept(itemsResponse -> {
                        List<OpsItemSummary> items = itemsResponse.opsItemSummaries();
                        for (OpsItemSummary item : items) {
                            System.out.println("The item title is " + item.title() + " and the status is " + item.status().toString());
                        }
                    })
                    .exceptionally(ex -> {
                        throw new CompletionException(ex);
                    }).join();
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }
```
+  Pour plus de détails sur l'API, voir [DescribeOpsItems](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/DescribeOpsItems)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import {
  OpsItemFilterOperator,
  OpsItemFilterKey,
  paginateDescribeOpsItems,
  SSMClient,
} from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Describe SSM OpsItems.
 * @param {{ opsItemId: string }}
 */
export const main = async ({ opsItemId }) => {
  const client = new SSMClient({});
  try {
    const describeOpsItemsPaginated = [];
    for await (const page of paginateDescribeOpsItems(
      { client },
      {
        OpsItemFilters: {
          Key: OpsItemFilterKey.OPSITEM_ID,
          Operator: OpsItemFilterOperator.EQUAL,
          Values: opsItemId,
        },
      },
    )) {
      describeOpsItemsPaginated.push(...page.OpsItemSummaries);
    }
    console.log("Here are the ops items:");
    console.log(describeOpsItemsPaginated);
    return { OpsItemSummaries: describeOpsItemsPaginated };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "MissingParameter") {
      console.warn(`${caught.message}. Did you provide this value?`);
    }
    throw caught;
  }
};
```
+  Pour plus de détails sur l'API, voir [DescribeOpsItems](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/DescribeOpsItemsCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class OpsItemWrapper:
    """Encapsulates AWS Systems Manager OpsItem actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.id = None

    @classmethod
    def from_client(cls):
        """
        :return: A OpsItemWrapper instance.
        """
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def describe(self):
        """
        Describe an OpsItem.
        """
        try:
            paginator = self.ssm_client.get_paginator("describe_ops_items")
            ops_items = []
            for page in paginator.paginate(
                OpsItemFilters=[
                    {"Key": "OpsItemId", "Values": [self.id], "Operator": "Equal"}
                ]
            ):
                ops_items.extend(page["OpsItemSummaries"])

            for item in ops_items:
                print(
                    f"The item title is {item['Title']} and the status is {item['Status']}"
                )
            return len(ops_items) > 0
        except ClientError as err:
            logger.error(
                "Couldn't describe ops item %s. Here's why: %s: %s",
                self.id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [DescribeOpsItems](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/DescribeOpsItems)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        " Create filter for OpsItem ID
        DATA(lt_filters) = VALUE /aws1/cl_ssmopsitemfilter=>tt_opsitemfilters(
          ( NEW /aws1/cl_ssmopsitemfilter(
              iv_key = 'OpsItemId'
              it_values = VALUE /aws1/cl_ssmopsitemfiltvals_w=>tt_opsitemfiltervalues(
                ( NEW /aws1/cl_ssmopsitemfiltvals_w( iv_value = iv_ops_item_id ) )
              )
              iv_operator = 'Equal'
            ) )
        ).

        " Use paginator to get all results
        DATA(lo_paginator) = lo_ssm->get_paginator( ).
        DATA(lo_iterator) = lo_paginator->describeopsitems(
          it_opsitemfilters = lt_filters ).

        rv_found = abap_false.

        WHILE lo_iterator->has_next( ).
          DATA(lo_result) = CAST /aws1/cl_ssmdescropsitemsrsp( lo_iterator->get_next( ) ).
          LOOP AT lo_result->get_opsitemsummaries( ) INTO DATA(lo_item).
            DATA(lv_title) = lo_item->get_title( ).
            DATA(lv_status) = lo_item->get_status( ).
            MESSAGE |The OpsItem title is { lv_title } and the status is { lv_status }| TYPE 'I'.
            rv_found = abap_true.
          ENDLOOP.
        ENDWHILE.
      CATCH /aws1/cx_ssminternalservererr.
        MESSAGE 'Internal server error occurred.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [DescribeOpsItems](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation `DescribeParameters` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_DescribeParameters_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribeParameters`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier tous les paramètres**  
L'`describe-parameters`exemple suivant répertorie tous les paramètres du AWS compte courant et de la région.  

```
aws ssm describe-parameters
```
Sortie :  

```
{
    "Parameters": [
        {
            "Name": "MySecureStringParameter",
            "Type": "SecureString",
            "KeyId": "alias/aws/ssm",
            "LastModifiedDate": 1582155479.205,
            "LastModifiedUser": "arn:aws:sts::111222333444:assumed-role/Admin/Richard-Roe-Managed",
            "Description": "This is a SecureString parameter",
            "Version": 2,
            "Tier": "Advanced",
            "Policies": [
                {
                    "PolicyText": "{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-07-07T22:30:00Z\"}}",
                    "PolicyType": "Expiration",
                    "PolicyStatus": "Pending"
                },
                {
                    "PolicyText": "{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"12\",\"Unit\":\"Hours\"}}",
                    "PolicyType": "ExpirationNotification",
                    "PolicyStatus": "Pending"
                }
            ]
        },
        {
            "Name": "MyStringListParameter",
            "Type": "StringList",
            "LastModifiedDate": 1582154764.222,
            "LastModifiedUser": "arn:aws:iam::111222333444:user/Mary-Major",
            "Description": "This is a StringList parameter",
            "Version": 1,
            "Tier": "Standard",
            "Policies": []
        },
        {
            "Name": "MyStringParameter",
            "Type": "String",
            "LastModifiedDate": 1582154711.976,
            "LastModifiedUser": "arn:aws:iam::111222333444:user/Alejandro-Rosalez",
            "Description": "This is a String parameter",
            "Version": 1,
            "Tier": "Standard",
            "Policies": []
        },
        {
            "Name": "latestAmi",
            "Type": "String",
            "LastModifiedDate": 1580862415.521,
            "LastModifiedUser": "arn:aws:sts::111222333444:assumed-role/lambda-ssm-role/Automation-UpdateSSM-Param",
            "Version": 3,
            "Tier": "Standard",
            "Policies": []
        }
    ]
}
```
**Exemple 2 : pour répertorier tous les paramètres correspondant à des métadonnées spécifiques**  
Cet exemple `describe-parameters` répertorie tous les paramètres correspondant à un filtre.  
aws ssm describe-parameters --filters « Clé = type, valeurs = » StringList  
Sortie :  

```
{
    "Parameters": [
        {
            "Name": "MyStringListParameter",
            "Type": "StringList",
            "LastModifiedDate": 1582154764.222,
            "LastModifiedUser": "arn:aws:iam::111222333444:user/Mary-Major",
            "Description": "This is a StringList parameter",
            "Version": 1,
            "Tier": "Standard",
            "Policies": []
        }
    ]
}
```
Pour plus d’informations, consultez [Recherche de paramètres Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-search.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribeParameters](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-parameters.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.ssm.SsmClient;
import software.amazon.awssdk.services.ssm.model.GetParameterRequest;
import software.amazon.awssdk.services.ssm.model.GetParameterResponse;
import software.amazon.awssdk.services.ssm.model.SsmException;

/**
 * Before running this Java V2 code example, set up your development
 * environment, including your credentials.
 *
 * For more information, see the following documentation topic:
 *
 * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
 */
public class GetParameter {
    public static void main(String[] args) {
        final String usage = """

                Usage:
                    <paraName>

                Where:
                    paraName - The name of the parameter.
                """;

        if (args.length != 1) {
            System.out.println(usage);
            System.exit(1);
        }

        String paraName = args[0];
        Region region = Region.US_EAST_1;
        SsmClient ssmClient = SsmClient.builder()
                .region(region)
                .build();

        getParaValue(ssmClient, paraName);
        ssmClient.close();
    }

    public static void getParaValue(SsmClient ssmClient, String paraName) {
        try {
            GetParameterRequest parameterRequest = GetParameterRequest.builder()
                    .name(paraName)
                    .build();

            GetParameterResponse parameterResponse = ssmClient.getParameter(parameterRequest);
            System.out.println("The parameter value is " + parameterResponse.parameter().value());

        } catch (SsmException e) {
            System.err.println(e.getMessage());
            System.exit(1);
        }
    }
}
```
+  Pour plus de détails sur l'API, voir [DescribeParameters](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/DescribeParameters)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie tous les paramètres.**  

```
Get-SSMParameterList
```
**Sortie** :  

```
Description      :
KeyId            :
LastModifiedDate : 3/3/2017 6:58:23 PM
LastModifiedUser : arn:aws:iam::123456789012:user/admin
Name             : Welcome
Type             : String
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeParameters](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie tous les paramètres.**  

```
Get-SSMParameterList
```
**Sortie** :  

```
Description      :
KeyId            :
LastModifiedDate : 3/3/2017 6:58:23 PM
LastModifiedUser : arn:aws:iam::123456789012:user/admin
Name             : Welcome
Type             : String
```
+  Pour plus de détails sur l'API, reportez-vous [DescribeParameters](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Rust ]

**SDK pour Rust**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ssm#code-examples). 

```
async fn show_parameters(client: &Client) -> Result<(), Error> {
    let resp = client.describe_parameters().send().await?;

    for param in resp.parameters() {
        println!("  {}", param.name().unwrap_or_default());
    }

    Ok(())
}
```
+  Pour plus de détails sur l'API, voir [DescribeParameters](https://docs.rs/aws-sdk-ssm/latest/aws_sdk_ssm/client/struct.Client.html#method.describe_parameters)la section de *référence de l'API AWS SDK for Rust*. 

------

# Utilisation de `DescribePatchBaselines` avec une CLI
<a name="ssm_example_ssm_DescribePatchBaselines_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribePatchBaselines`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier tous les référentiels de correctifs**  
L'`describe-patch-baselines`exemple suivant permet de récupérer les détails de toutes les lignes de base des correctifs de votre compte dans la région actuelle.  

```
aws ssm describe-patch-baselines
```
Sortie :  

```
{
    "BaselineIdentities": [
        {
            "BaselineName": "AWS-SuseDefaultPatchBaseline",
            "DefaultBaseline": true,
            "BaselineDescription": "Default Patch Baseline for Suse Provided by AWS.",
            "BaselineId": "arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0123fdb36e334a3b2",
            "OperatingSystem": "SUSE"
        },
        {
            "BaselineName": "AWS-DefaultPatchBaseline",
            "DefaultBaseline": false,
            "BaselineDescription": "Default Patch Baseline Provided by AWS.",
            "BaselineId": "arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-020d361a05defe4ed",
            "OperatingSystem": "WINDOWS"
        },
        ...
        {
            "BaselineName": "MyWindowsPatchBaseline",
            "DefaultBaseline": true,
            "BaselineDescription": "My patch baseline for EC2 instances for Windows Server",
            "BaselineId": "pb-0ad00e0dd7EXAMPLE",
            "OperatingSystem": "WINDOWS"
        }
    ]
}
```
**Exemple 2 : Pour répertorier toutes les lignes de base de correctifs fournies par AWS**  
L'`describe-patch-baselines`exemple suivant répertorie toutes les lignes de base de correctifs fournies par AWS.  

```
aws ssm describe-patch-baselines \
    --filters "Key=OWNER,Values=[AWS]"
```
**Exemple 3 : pour répertorier tous les référentiels de correctifs que vous possédez**  
L’exemple `describe-patch-baselines` suivant répertorie tous les référentiels de correctifs personnalisés créés dans votre compte dans la région actuelle.  

```
aws ssm describe-patch-baselines \
    --filters "Key=OWNER,Values=[Self]"
```
Pour plus d’informations, consultez [À propos des référentiels de correctifs prédéfinis et personnalisés](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-baselines.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchBaselines](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-patch-baselines.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie tous les référentiels de correctifs.**  

```
Get-SSMPatchBaseline
```
**Sortie** :  

```
BaselineDescription                                             BaselineId                                                            BaselineName
-------------------                                             ----------                                                            ------------
Default Patch Baseline Provided by AWS.                         arn:aws:ssm:us-west-2:123456789012:patchbaseline/pb-04fb4ae6142167966 AWS-DefaultP...
Baseline containing all updates approved for production systems pb-045f10b4f382baeda                                                  Production-B...
Baseline containing all updates approved for production systems pb-0a2f1059b670ebd31                                                  Production-B...
```
**Exemple 2 : Cet exemple répertorie toutes les lignes de base de correctifs fournies par AWS. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter1 = @{Key="OWNER";Values=@("AWS")}
```
**Sortie** :  

```
Get-SSMPatchBaseline -Filter $filter1
```
**Exemple 3 : cet exemple répertorie tous les référentiels de correctifs dont vous êtes le propriétaire. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter1 = @{Key="OWNER";Values=@("Self")}
```
**Sortie** :  

```
Get-SSMPatchBaseline -Filter $filter1
```
**Exemple 4 : Avec PowerShell la version 2, vous devez utiliser New-Object pour créer chaque balise.**  

```
$filter1 = New-Object Amazon.SimpleSystemsManagement.Model.PatchOrchestratorFilter
$filter1.Key = "OWNER"
$filter1.Values = "AWS"

Get-SSMPatchBaseline -Filter $filter1
```
**Sortie** :  

```
BaselineDescription                     BaselineId                                                            BaselineName             DefaultBaselin
                                                                                                                                       e
-------------------                     ----------                                                            ------------             --------------
Default Patch Baseline Provided by AWS. arn:aws:ssm:us-west-2:123456789012:patchbaseline/pb-04fb4ae6142167966 AWS-DefaultPatchBaseline True
```
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchBaselines](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie tous les référentiels de correctifs.**  

```
Get-SSMPatchBaseline
```
**Sortie** :  

```
BaselineDescription                                             BaselineId                                                            BaselineName
-------------------                                             ----------                                                            ------------
Default Patch Baseline Provided by AWS.                         arn:aws:ssm:us-west-2:123456789012:patchbaseline/pb-04fb4ae6142167966 AWS-DefaultP...
Baseline containing all updates approved for production systems pb-045f10b4f382baeda                                                  Production-B...
Baseline containing all updates approved for production systems pb-0a2f1059b670ebd31                                                  Production-B...
```
**Exemple 2 : Cet exemple répertorie toutes les lignes de base de correctifs fournies par AWS. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter1 = @{Key="OWNER";Values=@("AWS")}
```
**Sortie** :  

```
Get-SSMPatchBaseline -Filter $filter1
```
**Exemple 3 : cet exemple répertorie tous les référentiels de correctifs dont vous êtes le propriétaire. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter1 = @{Key="OWNER";Values=@("Self")}
```
**Sortie** :  

```
Get-SSMPatchBaseline -Filter $filter1
```
**Exemple 4 : Avec PowerShell la version 2, vous devez utiliser New-Object pour créer chaque balise.**  

```
$filter1 = New-Object Amazon.SimpleSystemsManagement.Model.PatchOrchestratorFilter
$filter1.Key = "OWNER"
$filter1.Values = "AWS"

Get-SSMPatchBaseline -Filter $filter1
```
**Sortie** :  

```
BaselineDescription                     BaselineId                                                            BaselineName             DefaultBaselin
                                                                                                                                       e
-------------------                     ----------                                                            ------------             --------------
Default Patch Baseline Provided by AWS. arn:aws:ssm:us-west-2:123456789012:patchbaseline/pb-04fb4ae6142167966 AWS-DefaultPatchBaseline True
```
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchBaselines](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribePatchGroupState` avec une CLI
<a name="ssm_example_ssm_DescribePatchGroupState_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribePatchGroupState`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir l’état d’un groupe de correctifs**  
L’exemple `describe-patch-group-state` suivant récupère le récapitulatif de haut niveau de la conformité des correctifs pour un groupe de correctifs.  

```
aws ssm describe-patch-group-state \
    --patch-group "Production"
```
Sortie :  

```
{
    "Instances": 21,
    "InstancesWithCriticalNonCompliantPatches": 1,
    "InstancesWithFailedPatches": 2,
    "InstancesWithInstalledOtherPatches": 3,
    "InstancesWithInstalledPatches": 21,
    "InstancesWithInstalledPendingRebootPatches": 2,
    "InstancesWithInstalledRejectedPatches": 1,
    "InstancesWithMissingPatches": 3,
    "InstancesWithNotApplicablePatches": 4,
    "InstancesWithOtherNonCompliantPatches": 1,
    "InstancesWithSecurityNonCompliantPatches": 1,
    "InstancesWithUnreportedNotApplicablePatches": 2
}
```
*Pour plus d'informations, reportez-vous aux sections À propos des groupes de correctifs < https://docs.aws.amazon.com/systems-manager/ latest/userguide/sysman -patch-patchgroups.html>\$1\$1 et Comprendre les [valeurs d'état de conformité](https://docs.aws.amazon.com/systems-manager/latest/userguide/about-patch-compliance-states.html) des correctifs dans le Guide de l'utilisateur de Systems Manager.AWS *  
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchGroupState](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-patch-group-state.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet d’obtenir le récapitulatif de haut niveau de la conformité des correctifs pour un groupe de correctifs.**  

```
Get-SSMPatchGroupState -PatchGroup "Production"
```
**Sortie** :  

```
Instances                          : 4
InstancesWithFailedPatches         : 1
InstancesWithInstalledOtherPatches : 4
InstancesWithInstalledPatches      : 3
InstancesWithMissingPatches        : 0
InstancesWithNotApplicablePatches  : 0
```
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchGroupState](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet d’obtenir le récapitulatif de haut niveau de la conformité des correctifs pour un groupe de correctifs.**  

```
Get-SSMPatchGroupState -PatchGroup "Production"
```
**Sortie** :  

```
Instances                          : 4
InstancesWithFailedPatches         : 1
InstancesWithInstalledOtherPatches : 4
InstancesWithInstalledPatches      : 3
InstancesWithMissingPatches        : 0
InstancesWithNotApplicablePatches  : 0
```
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchGroupState](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `DescribePatchGroups` avec une CLI
<a name="ssm_example_ssm_DescribePatchGroups_section"></a>

Les exemples de code suivants illustrent comment utiliser `DescribePatchGroups`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher les enregistrements de groupes de correctifs**  
L’exemple `describe-patch-groups` suivant répertorie les enregistrements de groupes de correctifs.  

```
aws ssm describe-patch-groups
```
Sortie :  

```
{
    "Mappings": [
        {
            "PatchGroup": "Production",
            "BaselineIdentity": {
                "BaselineId": "pb-0123456789abcdef0",
                "BaselineName": "ProdPatching",
                "OperatingSystem": "WINDOWS",
                "BaselineDescription": "Patches for Production",
                "DefaultBaseline": false
            }
        },
        {
            "PatchGroup": "Development",
            "BaselineIdentity": {
                "BaselineId": "pb-0713accee01234567",
                "BaselineName": "DevPatching",
                "OperatingSystem": "WINDOWS",
                "BaselineDescription": "Patches for Development",
                "DefaultBaseline": true
            }
        },
        ...
    ]
}
```
Pour plus d'informations, consultez les sections Créer un groupe de correctifs < https://docs.aws.amazon.com/systems-manager/ latest/userguide/sysman - patch-group-tagging .html>\$1\$1 et [Ajouter un groupe de correctifs à une ligne de base de correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-group-patchbaseline.html) dans le guide de l'utilisateur de *AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/describe-patch-groups.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie les enregistrements de groupes de correctifs.**  

```
Get-SSMPatchGroup
```
**Sortie** :  

```
BaselineIdentity                                           PatchGroup
----------------                                           ----------
Amazon.SimpleSystemsManagement.Model.PatchBaselineIdentity Production
```
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchGroups](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie les enregistrements de groupes de correctifs.**  

```
Get-SSMPatchGroup
```
**Sortie** :  

```
BaselineIdentity                                           PatchGroup
----------------                                           ----------
Amazon.SimpleSystemsManagement.Model.PatchBaselineIdentity Production
```
+  Pour plus de détails sur l'API, reportez-vous [DescribePatchGroups](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetAutomationExecution` avec une CLI
<a name="ssm_example_ssm_GetAutomationExecution_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetAutomationExecution`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher les détails d’une exécution d’automatisation**  
L’exemple `get-automation-execution` suivant affiche les informations détaillées sur une exécution d’automatisation.  

```
aws ssm get-automation-execution \
    --automation-execution-id 73c8eef8-f4ee-4a05-820c-e354fEXAMPLE
```
Sortie :  

```
{
    "AutomationExecution": {
        "AutomationExecutionId": "73c8eef8-f4ee-4a05-820c-e354fEXAMPLE",
        "DocumentName": "AWS-StartEC2Instance",
        "DocumentVersion": "1",
        "ExecutionStartTime": 1583737233.748,
        "ExecutionEndTime": 1583737234.719,
        "AutomationExecutionStatus": "Success",
        "StepExecutions": [
            {
                "StepName": "startInstances",
                "Action": "aws:changeInstanceState",
                "ExecutionStartTime": 1583737234.134,
                "ExecutionEndTime": 1583737234.672,
                "StepStatus": "Success",
                "Inputs": {
                    "DesiredState": "\"running\"",
                    "InstanceIds": "[\"i-0cb99161f6EXAMPLE\"]"
                },
                "Outputs": {
                    "InstanceStates": [
                        "running"
                    ]
                },
                "StepExecutionId": "95e70479-cf20-4d80-8018-7e4e2EXAMPLE",
                "OverriddenParameters": {}
            }
        ],
        "StepExecutionsTruncated": false,
        "Parameters": {
            "AutomationAssumeRole": [
                ""
            ],
            "InstanceId": [
                "i-0cb99161f6EXAMPLE"
            ]
        },
        "Outputs": {},
        "Mode": "Auto",
        "ExecutedBy": "arn:aws:sts::29884EXAMPLE:assumed-role/mw_service_role/OrchestrationService",
        "Targets": [],
        "ResolvedTargets": {
            "ParameterValues": [],
            "Truncated": false
        }
    }
}
```
Pour plus d'informations, consultez la section [Procédure pas à pas : patcher une AMI Linux (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk-patch-linux-ami-cli.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetAutomationExecution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-automation-execution.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple affiche les détails d’une exécution d’automatisation.**  

```
Get-SSMAutomationExecution -AutomationExecutionId "4105a4fc-f944-11e6-9d32-8fb2db27a909"
```
**Sortie** :  

```
AutomationExecutionId     : 4105a4fc-f944-11e6-9d32-8fb2db27a909
AutomationExecutionStatus : Failed
DocumentName              : AWS-UpdateLinuxAmi
DocumentVersion           : 1
ExecutionEndTime          : 2/22/2017 9:17:08 PM
ExecutionStartTime        : 2/22/2017 9:17:02 PM
FailureMessage            : Step launchInstance failed maximum allowed times. You are not authorized to perform this operation. Encoded
                            authorization failure message: B_V2QyyN7NhSZQYpmVzpEc4oSnj2GLTNYnXUHsTbqJkNMoDgubmbtthLmZyaiUYekORIrA42-fv1x-04q5Fjff6glh
                            Yb6TI5b0GQeeNrpwNvpDzmO-PSR1swlAbg9fdM9BcNjyrznspUkWpuKu9EC1Ou6v3OXU1KC9nZ7mPlWMFZNkSioQqpwWEvMw-GZktsQzm67qOhUhBNOLWYhbS
                            pkfiqzY-5nw3S0obx30fhd3EJa5O_-GjV_a0nFXQJa70ik40bFOrEh3MtCSbrQT6--DvFy_FQ8TKvkIXadyVskeJI84XOF5WmA60f1pi5GI08i-nRfZS6oDeU
                            gELBjjoFKD8s3L2aI0B6umWVxnQOjqhQRxwJ53b54sZJ2PW3v_mtg9-q0CK0ezS3xfh_y0ilaUGOAZG-xjQFuvU_JZedWpla3xi-MZsmblAifBI
                            (Service: AmazonEC2; Status Code: 403; Error Code: UnauthorizedOperation; Request ID:
                            6a002f94-ba37-43fd-99e6-39517715fce5)
Outputs                   : {[createImage.ImageId, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
Parameters                : {[AutomationAssumeRole, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]], [InstanceIamRole,
                            Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]], [SourceAmiId,
                            Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
StepExecutions            : {launchInstance, updateOSSoftware, stopInstance, createImage...}
```
**Exemple 2 : cet exemple répertorie les détails des étapes pour l’ID d’exécution d’automatisation donné**  

```
Get-SSMAutomationExecution -AutomationExecutionId e1d2bad3-4567-8901-ae23-456c7c8901be | Select-Object -ExpandProperty StepExecutions | Select-Object StepName, Action, StepStatus, ValidNextSteps
```
**Sortie** :  

```
StepName                  Action                  StepStatus ValidNextSteps
--------                  ------                  ---------- --------------
LaunchInstance            aws:runInstances        Success    {OSCompatibilityCheck}
OSCompatibilityCheck      aws:runCommand          Success    {RunPreUpdateScript}
RunPreUpdateScript        aws:runCommand          Success    {UpdateEC2Config}
UpdateEC2Config           aws:runCommand          Cancelled  {}
UpdateSSMAgent            aws:runCommand          Pending    {}
UpdateAWSPVDriver         aws:runCommand          Pending    {}
UpdateAWSEnaNetworkDriver aws:runCommand          Pending    {}
UpdateAWSNVMe             aws:runCommand          Pending    {}
InstallWindowsUpdates     aws:runCommand          Pending    {}
RunPostUpdateScript       aws:runCommand          Pending    {}
RunSysprepGeneralize      aws:runCommand          Pending    {}
StopInstance              aws:changeInstanceState Pending    {}
CreateImage               aws:createImage         Pending    {}
TerminateInstance         aws:changeInstanceState Pending    {}
```
+  Pour plus de détails sur l'API, reportez-vous [GetAutomationExecution](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple affiche les détails d’une exécution d’automatisation.**  

```
Get-SSMAutomationExecution -AutomationExecutionId "4105a4fc-f944-11e6-9d32-8fb2db27a909"
```
**Sortie** :  

```
AutomationExecutionId     : 4105a4fc-f944-11e6-9d32-8fb2db27a909
AutomationExecutionStatus : Failed
DocumentName              : AWS-UpdateLinuxAmi
DocumentVersion           : 1
ExecutionEndTime          : 2/22/2017 9:17:08 PM
ExecutionStartTime        : 2/22/2017 9:17:02 PM
FailureMessage            : Step launchInstance failed maximum allowed times. You are not authorized to perform this operation. Encoded
                            authorization failure message: B_V2QyyN7NhSZQYpmVzpEc4oSnj2GLTNYnXUHsTbqJkNMoDgubmbtthLmZyaiUYekORIrA42-fv1x-04q5Fjff6glh
                            Yb6TI5b0GQeeNrpwNvpDzmO-PSR1swlAbg9fdM9BcNjyrznspUkWpuKu9EC1Ou6v3OXU1KC9nZ7mPlWMFZNkSioQqpwWEvMw-GZktsQzm67qOhUhBNOLWYhbS
                            pkfiqzY-5nw3S0obx30fhd3EJa5O_-GjV_a0nFXQJa70ik40bFOrEh3MtCSbrQT6--DvFy_FQ8TKvkIXadyVskeJI84XOF5WmA60f1pi5GI08i-nRfZS6oDeU
                            gELBjjoFKD8s3L2aI0B6umWVxnQOjqhQRxwJ53b54sZJ2PW3v_mtg9-q0CK0ezS3xfh_y0ilaUGOAZG-xjQFuvU_JZedWpla3xi-MZsmblAifBI
                            (Service: AmazonEC2; Status Code: 403; Error Code: UnauthorizedOperation; Request ID:
                            6a002f94-ba37-43fd-99e6-39517715fce5)
Outputs                   : {[createImage.ImageId, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
Parameters                : {[AutomationAssumeRole, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]], [InstanceIamRole,
                            Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]], [SourceAmiId,
                            Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
StepExecutions            : {launchInstance, updateOSSoftware, stopInstance, createImage...}
```
**Exemple 2 : cet exemple répertorie les détails des étapes pour l’ID d’exécution d’automatisation donné**  

```
Get-SSMAutomationExecution -AutomationExecutionId e1d2bad3-4567-8901-ae23-456c7c8901be | Select-Object -ExpandProperty StepExecutions | Select-Object StepName, Action, StepStatus, ValidNextSteps
```
**Sortie** :  

```
StepName                  Action                  StepStatus ValidNextSteps
--------                  ------                  ---------- --------------
LaunchInstance            aws:runInstances        Success    {OSCompatibilityCheck}
OSCompatibilityCheck      aws:runCommand          Success    {RunPreUpdateScript}
RunPreUpdateScript        aws:runCommand          Success    {UpdateEC2Config}
UpdateEC2Config           aws:runCommand          Cancelled  {}
UpdateSSMAgent            aws:runCommand          Pending    {}
UpdateAWSPVDriver         aws:runCommand          Pending    {}
UpdateAWSEnaNetworkDriver aws:runCommand          Pending    {}
UpdateAWSNVMe             aws:runCommand          Pending    {}
InstallWindowsUpdates     aws:runCommand          Pending    {}
RunPostUpdateScript       aws:runCommand          Pending    {}
RunSysprepGeneralize      aws:runCommand          Pending    {}
StopInstance              aws:changeInstanceState Pending    {}
CreateImage               aws:createImage         Pending    {}
TerminateInstance         aws:changeInstanceState Pending    {}
```
+  Pour plus de détails sur l'API, reportez-vous [GetAutomationExecution](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetCommandInvocation` avec une CLI
<a name="ssm_example_ssm_GetCommandInvocation_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetCommandInvocation`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher les détails d’une invocation de commande**  
L’exemple `get-command-invocation` suivant répertorie toutes les invocations de la commande spécifiée sur l’instance spécifiée.  

```
aws ssm get-command-invocation \
    --command-id "ef7fdfd8-9b57-4151-a15c-db9a12345678" \
    --instance-id "i-1234567890abcdef0"
```
Sortie :  

```
{
    "CommandId": "ef7fdfd8-9b57-4151-a15c-db9a12345678",
    "InstanceId": "i-1234567890abcdef0",
    "Comment": "b48291dd-ba76-43e0-b9df-13e11ddaac26:6960febb-2907-4b59-8e1a-d6ce8EXAMPLE",
    "DocumentName": "AWS-UpdateSSMAgent",
    "DocumentVersion": "",
    "PluginName": "aws:updateSsmAgent",
    "ResponseCode": 0,
    "ExecutionStartDateTime": "2020-02-19T18:18:03.419Z",
    "ExecutionElapsedTime": "PT0.091S",
    "ExecutionEndDateTime": "2020-02-19T18:18:03.419Z",
    "Status": "Success",
    "StatusDetails": "Success",
    "StandardOutputContent": "Updating amazon-ssm-agent from 2.3.842.0 to latest\nSuccessfully downloaded https://s3.us-east-2.amazonaws.com/amazon-ssm-us-east-2/ssm-agent-manifest.json\namazon-ssm-agent 2.3.842.0 has already been installed, update skipped\n",
    "StandardOutputUrl": "",
    "StandardErrorContent": "",
    "StandardErrorUrl": "",
    "CloudWatchOutputConfig": {
        "CloudWatchLogGroupName": "",
        "CloudWatchOutputEnabled": false
    }
}
```
Pour plus d’informations, consultez [Comprendre les statuts de commande](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetCommandInvocation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-command-invocation.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple affiche les détails d’une commande exécutée sur une instance.**  

```
Get-SSMCommandInvocationDetail -InstanceId "i-0cb2b964d3e14fd9f" -CommandId "b8eac879-0541-439d-94ec-47a80d554f44"
```
**Sortie** :  

```
CommandId              : b8eac879-0541-439d-94ec-47a80d554f44
Comment                : IP config
DocumentName           : AWS-RunShellScript
ExecutionElapsedTime   : PT0.004S
ExecutionEndDateTime   : 2017-02-22T20:13:16.651Z
ExecutionStartDateTime : 2017-02-22T20:13:16.651Z
InstanceId             : i-0cb2b964d3e14fd9f
PluginName             : aws:runShellScript
ResponseCode           : 0
StandardErrorContent   :
StandardErrorUrl       :
StandardOutputContent  :
StandardOutputUrl      :
Status                 : Success
StatusDetails          : Success
```
+  Pour plus de détails sur l'API, reportez-vous [GetCommandInvocation](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple affiche les détails d’une commande exécutée sur une instance.**  

```
Get-SSMCommandInvocationDetail -InstanceId "i-0cb2b964d3e14fd9f" -CommandId "b8eac879-0541-439d-94ec-47a80d554f44"
```
**Sortie** :  

```
CommandId              : b8eac879-0541-439d-94ec-47a80d554f44
Comment                : IP config
DocumentName           : AWS-RunShellScript
ExecutionElapsedTime   : PT0.004S
ExecutionEndDateTime   : 2017-02-22T20:13:16.651Z
ExecutionStartDateTime : 2017-02-22T20:13:16.651Z
InstanceId             : i-0cb2b964d3e14fd9f
PluginName             : aws:runShellScript
ResponseCode           : 0
StandardErrorContent   :
StandardErrorUrl       :
StandardOutputContent  :
StandardOutputUrl      :
Status                 : Success
StatusDetails          : Success
```
+  Pour plus de détails sur l'API, reportez-vous [GetCommandInvocation](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetConnectionStatus` avec une CLI
<a name="ssm_example_ssm_GetConnectionStatus_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetConnectionStatus`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher le statut de connexion d’une instance gérée**  
Cet exemple `get-connection-status` renvoie le statut de connexion de l’instance gérée spécifiée.  

```
aws ssm get-connection-status \
    --target i-1234567890abcdef0
```
Sortie :  

```
{
    "Target": "i-1234567890abcdef0",
    "Status": "connected"
}
```
+  Pour plus de détails sur l'API, reportez-vous [GetConnectionStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-connection-status.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple récupère le statut de connexion de Session Manager pour une instance afin de déterminer si elle est connectée et prête à recevoir des connexions Session Manager. **  

```
Get-SSMConnectionStatus -Target i-0a1caf234f12d3dc4
```
**Sortie** :  

```
Status    Target
------    ------
Connected i-0a1caf234f12d3dc4
```
+  Pour plus de détails sur l'API, reportez-vous [GetConnectionStatus](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple récupère le statut de connexion de Session Manager pour une instance afin de déterminer si elle est connectée et prête à recevoir des connexions Session Manager. **  

```
Get-SSMConnectionStatus -Target i-0a1caf234f12d3dc4
```
**Sortie** :  

```
Status    Target
------    ------
Connected i-0a1caf234f12d3dc4
```
+  Pour plus de détails sur l'API, reportez-vous [GetConnectionStatus](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetDefaultPatchBaseline` avec une CLI
<a name="ssm_example_ssm_GetDefaultPatchBaseline_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetDefaultPatchBaseline`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour afficher le référentiel de correctifs par défaut de Windows**  
L’exemple `get-default-patch-baseline` suivant permet de récupérer les détails du référentiel de correctifs par défaut pour Windows Server.  

```
aws ssm get-default-patch-baseline
```
Sortie :  

```
{
  "BaselineId": "pb-0713accee01612345",
  "OperatingSystem": "WINDOWS"
}
```
**Exemple 2 : pour afficher le référentiel de correctifs par défaut pour Amazon Linux**  
L’exemple `get-default-patch-baseline` suivant permet de récupérer les détails du référentiel de correctifs par défaut pour Amazon Linux.  

```
aws ssm get-default-patch-baseline \
    --operating-system AMAZON_LINUX
```
Sortie :  

```
{
    "BaselineId": "pb-047c6eb9c8fc12345",
    "OperatingSystem": "AMAZON_LINUX"
}
```
*Pour plus d'informations, voir À propos des lignes de base de correctifs prédéfinies et personnalisées < https://docs.aws.amazon.com/systems-manager/ latest/userguide/sysman -patch-baselines.html>\$1\$1 et [Définir une ligne de base de correctifs existante par défaut dans le guide de l'utilisateur](https://docs.aws.amazon.com/systems-manager/latest/userguide/set-default-patch-baseline.html) de Systems Manager.AWS *  
+  Pour plus de détails sur l'API, reportez-vous [GetDefaultPatchBaseline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-default-patch-baseline.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple affiche le référentiel de correctifs par défaut.**  

```
Get-SSMDefaultPatchBaseline
```
**Sortie** :  

```
arn:aws:ssm:us-west-2:123456789012:patchbaseline/pb-04fb4ae6142167966
```
+  Pour plus de détails sur l'API, reportez-vous [GetDefaultPatchBaseline](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple affiche le référentiel de correctifs par défaut.**  

```
Get-SSMDefaultPatchBaseline
```
**Sortie** :  

```
arn:aws:ssm:us-west-2:123456789012:patchbaseline/pb-04fb4ae6142167966
```
+  Pour plus de détails sur l'API, reportez-vous [GetDefaultPatchBaseline](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetDeployablePatchSnapshotForInstance` avec une CLI
<a name="ssm_example_ssm_GetDeployablePatchSnapshotForInstance_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetDeployablePatchSnapshotForInstance`.

------
#### [ CLI ]

**AWS CLI**  
**Pour récupérer l’instantané actuel pour le référentiel de correctifs qu’une instance utilise**  
L’exemple `get-deployable-patch-snapshot-for-instance` suivant récupère les détails de l’instantané en cours pour le référentiel de correctifs spécifié utilisé par une instance. Cette commande doit être exécutée à partir de l’instance en utilisant les informations d’identification de l’instance. Pour vous assurer qu’il utilise les informations d’identification de l’instance, exécutez `aws configure` et spécifiez uniquement la région de votre instance. Laissez les champs `Access Key` et `Secret Key` vides.  
Conseil : utilisez `uuidgen` pour générer un `snapshot-id`.  

```
aws ssm get-deployable-patch-snapshot-for-instance \
    --instance-id "i-1234567890abcdef0" \
    --snapshot-id "521c3536-930c-4aa9-950e-01234567abcd"
```
Sortie :  

```
{
    "InstanceId": "i-1234567890abcdef0",
    "SnapshotId": "521c3536-930c-4aa9-950e-01234567abcd",
    "Product": "AmazonLinux2018.03",
    "SnapshotDownloadUrl": "https://patch-baseline-snapshot-us-east-1.s3.amazonaws.com/ed85194ef27214f5984f28b4d664d14f7313568fea7d4b6ac6c10ad1f729d7e7-773304212436/AMAZON_LINUX-521c3536-930c-4aa9-950e-01234567abcd?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190215T164031Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIAJ5C56P35AEBRX2QQ%2F20190215%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=efaaaf6e3878e77f48a6697e015efdbda9c426b09c5822055075c062f6ad2149"
}
```
Pour plus d’informations, consultez [Nom du paramètre : ID de l’instantané](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-about-aws-runpatchbaseline.html#patch-manager-about-aws-runpatchbaseline-parameters-snapshot-id) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetDeployablePatchSnapshotForInstance](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-deployable-patch-snapshot-for-instance.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple affiche l’instantané actuel pour le référentiel de correctifs utilisé par une instance. Cette commande doit être exécutée à partir de l’instance en utilisant les informations d’identification de l’instance. Pour s’assurer qu’il utilise les informations d’identification de l’instance, l’exemple passe un objet `Amazon.Runtime.InstanceProfileAWSCredentials` au paramètre Credentials.**  

```
$credentials = [Amazon.Runtime.InstanceProfileAWSCredentials]::new()
Get-SSMDeployablePatchSnapshotForInstance -SnapshotId "4681775b-098f-4435-a956-0ef33373ac11" -InstanceId "i-0cb2b964d3e14fd9f" -Credentials $credentials
```
**Sortie** :  

```
InstanceId          SnapshotDownloadUrl
----------          -------------------
i-0cb2b964d3e14fd9f https://patch-baseline-snapshot-us-west-2.s3-us-west-2.amazonaws.com/853d0d3db0f0cafe...1692/4681775b-098f-4435...
```
**Exemple 2 : Cet exemple montre comment obtenir le résultat complet SnapshotDownloadUrl. Cette commande doit être exécutée à partir de l’instance en utilisant les informations d’identification de l’instance. Pour s'assurer qu'il utilise les informations d'identification de l'instance, l'exemple configure la PowerShell session pour utiliser un `Amazon.Runtime.InstanceProfileAWSCredentials` objet.**  

```
Set-AWSCredential -Credential ([Amazon.Runtime.InstanceProfileAWSCredentials]::new())
(Get-SSMDeployablePatchSnapshotForInstance -SnapshotId "4681775b-098f-4435-a956-0ef33373ac11" -InstanceId "i-0cb2b964d3e14fd9f").SnapshotDownloadUrl
```
**Sortie** :  

```
https://patch-baseline-snapshot-us-west-2.s3-us-west-2.amazonaws.com/853d0d3db0f0cafe...
```
+  Pour plus de détails sur l'API, reportez-vous [GetDeployablePatchSnapshotForInstance](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple affiche l’instantané actuel pour le référentiel de correctifs utilisé par une instance. Cette commande doit être exécutée à partir de l’instance en utilisant les informations d’identification de l’instance. Pour s’assurer qu’il utilise les informations d’identification de l’instance, l’exemple passe un objet `Amazon.Runtime.InstanceProfileAWSCredentials` au paramètre Credentials.**  

```
$credentials = [Amazon.Runtime.InstanceProfileAWSCredentials]::new()
Get-SSMDeployablePatchSnapshotForInstance -SnapshotId "4681775b-098f-4435-a956-0ef33373ac11" -InstanceId "i-0cb2b964d3e14fd9f" -Credentials $credentials
```
**Sortie** :  

```
InstanceId          SnapshotDownloadUrl
----------          -------------------
i-0cb2b964d3e14fd9f https://patch-baseline-snapshot-us-west-2.s3-us-west-2.amazonaws.com/853d0d3db0f0cafe...1692/4681775b-098f-4435...
```
**Exemple 2 : Cet exemple montre comment obtenir le résultat complet SnapshotDownloadUrl. Cette commande doit être exécutée à partir de l’instance en utilisant les informations d’identification de l’instance. Pour s'assurer qu'il utilise les informations d'identification de l'instance, l'exemple configure la PowerShell session pour utiliser un `Amazon.Runtime.InstanceProfileAWSCredentials` objet.**  

```
Set-AWSCredential -Credential ([Amazon.Runtime.InstanceProfileAWSCredentials]::new())
(Get-SSMDeployablePatchSnapshotForInstance -SnapshotId "4681775b-098f-4435-a956-0ef33373ac11" -InstanceId "i-0cb2b964d3e14fd9f").SnapshotDownloadUrl
```
**Sortie** :  

```
https://patch-baseline-snapshot-us-west-2.s3-us-west-2.amazonaws.com/853d0d3db0f0cafe...
```
+  Pour plus de détails sur l'API, reportez-vous [GetDeployablePatchSnapshotForInstance](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetDocument` avec une CLI
<a name="ssm_example_ssm_GetDocument_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetDocument`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir le contenu d’un document**  
L’exemple `get-document` suivant affiche le contenu d’un document Systems Manager.  

```
aws ssm get-document \
    --name "AWS-RunShellScript"
```
Sortie :  

```
{
    "Name": "AWS-RunShellScript",
    "DocumentVersion": "1",
    "Status": "Active",
    "Content": "{\n    \"schemaVersion\":\"1.2\",\n    \"description\":\"Run a shell script or specify the commands to run.\",\n    \"parameters\":{\n        \"commands\":{\n            \"type\":\"StringList\",\n            \"description\":\"(Required) Specify a shell script or a command to run.\",\n            \"minItems\":1,\n            \"displayType\":\"textarea\"\n        },\n        \"workingDirectory\":{\n            \"type\":\"String\",\n            \"default\":\"\",\n            \"description\":\"(Optional) The path to the working directory on your instance.\",\n            \"maxChars\":4096\n        },\n        \"executionTimeout\":{\n            \"type\":\"String\",\n            \"default\":\"3600\",\n            \"description\":\"(Optional) The time in seconds for a command to complete before it is considered to have failed. Default is 3600 (1 hour). Maximum is 172800 (48 hours).\",\n            \"allowedPattern\":\"([1-9][0-9]{0,4})|(1[0-6][0-9]{4})|(17[0-1][0-9]{3})|(172[0-7][0-9]{2})|(172800)\"\n        }\n    },\n    \"runtimeConfig\":{\n        \"aws:runShellScript\":{\n            \"properties\":[\n                {\n                    \"id\":\"0.aws:runShellScript\",\n                    \"runCommand\":\"{{ commands }}\",\n                    \"workingDirectory\":\"{{ workingDirectory }}\",\n                    \"timeoutSeconds\":\"{{ executionTimeout }}\"\n                }\n            ]\n        }\n    }\n}\n",
    "DocumentType": "Command",
    "DocumentFormat": "JSON"
}
```
Pour plus d’informations, consultez [Documents AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetDocument](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-document.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple renvoie le contenu d’un document.**  

```
Get-SSMDocument -Name "RunShellScript"
```
**Sortie** :  

```
Content
-------
{...
```
**Exemple 2 : cet exemple affiche le contenu complet d’un document.**  

```
(Get-SSMDocument -Name "RunShellScript").Content
{
   "schemaVersion":"2.0",
   "description":"Run an updated script",
   "parameters":{
      "commands":{
         "type":"StringList",
         "description":"(Required) Specify a shell script or a command to run.",
         "minItems":1,
         "displayType":"textarea"
      }
   },
   "mainSteps":[
      {
         "action":"aws:runShellScript",
         "name":"runShellScript",
         "inputs":{
            "commands":"{{ commands }}"
         }
      },
      {
         "action":"aws:runPowerShellScript",
         "name":"runPowerShellScript",
         "inputs":{
            "commands":"{{ commands }}"
         }
      }
   ]
}
```
+  Pour plus de détails sur l'API, reportez-vous [GetDocument](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple renvoie le contenu d’un document.**  

```
Get-SSMDocument -Name "RunShellScript"
```
**Sortie** :  

```
Content
-------
{...
```
**Exemple 2 : cet exemple affiche le contenu complet d’un document.**  

```
(Get-SSMDocument -Name "RunShellScript").Content
{
   "schemaVersion":"2.0",
   "description":"Run an updated script",
   "parameters":{
      "commands":{
         "type":"StringList",
         "description":"(Required) Specify a shell script or a command to run.",
         "minItems":1,
         "displayType":"textarea"
      }
   },
   "mainSteps":[
      {
         "action":"aws:runShellScript",
         "name":"runShellScript",
         "inputs":{
            "commands":"{{ commands }}"
         }
      },
      {
         "action":"aws:runPowerShellScript",
         "name":"runPowerShellScript",
         "inputs":{
            "commands":"{{ commands }}"
         }
      }
   ]
}
```
+  Pour plus de détails sur l'API, reportez-vous [GetDocument](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetInventory` avec une CLI
<a name="ssm_example_ssm_GetInventory_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetInventory`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher votre inventaire**  
Cet exemple permet d’obtenir les métadonnées personnalisées de votre inventaire.  
Commande :  

```
aws ssm get-inventory
```
Sortie :  

```
{
  "Entities": [
      {
          "Data": {
              "AWS:InstanceInformation": {
                  "Content": [
                      {
                          "ComputerName": "ip-172-31-44-222.us-west-2.compute.internal",
                          "InstanceId": "i-0cb2b964d3e14fd9f",
                          "IpAddress": "172.31.44.222",
                          "AgentType": "amazon-ssm-agent",
                          "ResourceType": "EC2Instance",
                          "AgentVersion": "2.0.672.0",
                          "PlatformVersion": "2016.09",
                          "PlatformName": "Amazon Linux AMI",
                          "PlatformType": "Linux"
                      }
                  ],
                  "TypeName": "AWS:InstanceInformation",
                  "SchemaVersion": "1.0",
                  "CaptureTime": "2017-02-20T18:03:58Z"
              }
          },
          "Id": "i-0cb2b964d3e14fd9f"
      }
  ]
}
```
+  Pour plus de détails sur l'API, reportez-vous [GetInventory](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-inventory.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet d’obtenir les métadonnées personnalisées de votre inventaire.**  

```
Get-SSMInventory
```
**Sortie** :  

```
Data                                                                                  Id
----                                                                                  --
{[AWS:InstanceInformation, Amazon.SimpleSystemsManagement.Model.InventoryResultItem]} i-0cb2b964d3e14fd9f
```
+  Pour plus de détails sur l'API, reportez-vous [GetInventory](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet d’obtenir les métadonnées personnalisées de votre inventaire.**  

```
Get-SSMInventory
```
**Sortie** :  

```
Data                                                                                  Id
----                                                                                  --
{[AWS:InstanceInformation, Amazon.SimpleSystemsManagement.Model.InventoryResultItem]} i-0cb2b964d3e14fd9f
```
+  Pour plus de détails sur l'API, reportez-vous [GetInventory](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetInventorySchema` avec une CLI
<a name="ssm_example_ssm_GetInventorySchema_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetInventorySchema`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher votre schéma d’inventaire**  
Cet exemple renvoie une liste de noms de types d’inventaire pour le compte.  
Commande :  

```
aws ssm get-inventory-schema
```
Sortie :  

```
{
  "Schemas": [
      {
          "TypeName": "AWS:AWSComponent",
          "Version": "1.0",
          "Attributes": [
              {
                  "Name": "Name",
                  "DataType": "STRING"
              },
              {
                  "Name": "ApplicationType",
                  "DataType": "STRING"
              },
              {
                  "Name": "Publisher",
                  "DataType": "STRING"
              },
              {
                  "Name": "Version",
                  "DataType": "STRING"
              },
              {
                  "Name": "InstalledTime",
                  "DataType": "STRING"
              },
              {
                  "Name": "Architecture",
                  "DataType": "STRING"
              },
              {
                  "Name": "URL",
                  "DataType": "STRING"
              }
          ]
      },
      ...
  ],
  "NextToken": "--token string truncated--"
}
```
**Pour afficher le schéma d’inventaire d’un type d’inventaire spécifique**  
Cet exemple renvoie le schéma d'inventaire pour un type d'inventaire des AWS composants AWS :  
Commande :  

```
aws ssm get-inventory-schema --type-name "AWS:AWSComponent"
```
+  Pour plus de détails sur l'API, reportez-vous [GetInventorySchema](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-inventory-schema.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple renvoie une liste de noms de types d’inventaire pour le compte.**  

```
Get-SSMInventorySchema
```
+  Pour plus de détails sur l'API, reportez-vous [GetInventorySchema](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple renvoie une liste de noms de types d’inventaire pour le compte.**  

```
Get-SSMInventorySchema
```
+  Pour plus de détails sur l'API, reportez-vous [GetInventorySchema](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetMaintenanceWindow` avec une CLI
<a name="ssm_example_ssm_GetMaintenanceWindow_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetMaintenanceWindow`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir les informations sur une fenêtre de maintenance**  
L’exemple `get-maintenance-window` suivant récupère les informations sur la fenêtre de maintenance spécifiée.  

```
aws ssm get-maintenance-window \
    --window-id "mw-03eb9db428EXAMPLE"
```
Sortie :  

```
{
    "AllowUnassociatedTargets": true,
    "CreatedDate": 1515006912.957,
    "Cutoff": 1,
    "Duration": 6,
    "Enabled": true,
    "ModifiedDate": 2020-01-01T10:04:04.099Z,
    "Name": "My-Maintenance-Window",
    "Schedule": "rate(3 days)",
    "WindowId": "mw-03eb9db428EXAMPLE",
    "NextExecutionTime": "2020-02-25T00:08:15.099Z"
}
```
Pour plus d'informations, consultez la section [Afficher les informations sur les fenêtres de maintenance (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-cli-tutorials-describe.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-maintenance-window.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet d’obtenir des informations sur une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindow -WindowId "mw-03eb9db42890fb82d"
```
**Sortie** :  

```
AllowUnassociatedTargets : False
CreatedDate              : 2/20/2017 6:14:05 PM
Cutoff                   : 1
Duration                 : 2
Enabled                  : True
ModifiedDate             : 2/20/2017 6:14:05 PM
Name                     : TestMaintWin
Schedule                 : cron(0 */30 * * * ? *)
WindowId                 : mw-03eb9db42890fb82d
```
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindow](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet d’obtenir des informations sur une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindow -WindowId "mw-03eb9db42890fb82d"
```
**Sortie** :  

```
AllowUnassociatedTargets : False
CreatedDate              : 2/20/2017 6:14:05 PM
Cutoff                   : 1
Duration                 : 2
Enabled                  : True
ModifiedDate             : 2/20/2017 6:14:05 PM
Name                     : TestMaintWin
Schedule                 : cron(0 */30 * * * ? *)
WindowId                 : mw-03eb9db42890fb82d
```
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindow](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetMaintenanceWindowExecution` avec une CLI
<a name="ssm_example_ssm_GetMaintenanceWindowExecution_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetMaintenanceWindowExecution`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir les informations sur l’exécution d’une tâche de la fenêtre de maintenance**  
L’exemple `get-maintenance-window-execution` suivant répertorie les informations relatives à une tâche exécutée dans le cadre de l’exécution de la fenêtre de maintenance spécifiée.  

```
aws ssm get-maintenance-window-execution \
    --window-execution-id "518d5565-5969-4cca-8f0e-da3b2EXAMPLE"
```
Sortie :  

```
{
    "Status": "SUCCESS",
    "TaskIds": [
        "ac0c6ae1-daa3-4a89-832e-d3845EXAMPLE"
    ],
    "StartTime": 1487692834.595,
    "EndTime": 1487692835.051,
    "WindowExecutionId": "518d5565-5969-4cca-8f0e-da3b2EXAMPLE",
}
```
Pour plus d'informations, consultez la section [Afficher les informations sur les tâches et les exécutions de tâches (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-task-info.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindowExecution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-maintenance-window-execution.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie les informations relatives à une tâche exécutée dans le cadre de l’exécution d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecution -WindowExecutionId "518d5565-5969-4cca-8f0e-da3b2a638355"
```
**Sortie** :  

```
EndTime           : 2/21/2017 4:00:35 PM
StartTime         : 2/21/2017 4:00:34 PM
Status            : FAILED
StatusDetails     : One or more tasks in the orchestration failed.
TaskIds           : {ac0c6ae1-daa3-4a89-832e-d384503b6586}
WindowExecutionId : 518d5565-5969-4cca-8f0e-da3b2a638355
```
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindowExecution](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie les informations relatives à une tâche exécutée dans le cadre de l’exécution d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecution -WindowExecutionId "518d5565-5969-4cca-8f0e-da3b2a638355"
```
**Sortie** :  

```
EndTime           : 2/21/2017 4:00:35 PM
StartTime         : 2/21/2017 4:00:34 PM
Status            : FAILED
StatusDetails     : One or more tasks in the orchestration failed.
TaskIds           : {ac0c6ae1-daa3-4a89-832e-d384503b6586}
WindowExecutionId : 518d5565-5969-4cca-8f0e-da3b2a638355
```
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindowExecution](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetMaintenanceWindowExecutionTask` avec une CLI
<a name="ssm_example_ssm_GetMaintenanceWindowExecutionTask_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetMaintenanceWindowExecutionTask`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir les informations sur l’exécution d’une tâche de la fenêtre de maintenance**  
L’exemple `get-maintenance-window-execution-task` suivant répertorie les informations relatives à une tâche qui fait partie de l’exécution de la fenêtre de maintenance spécifiée.  

```
aws ssm get-maintenance-window-execution-task \
    --window-execution-id "518d5565-5969-4cca-8f0e-da3b2EXAMPLE" \
    --task-id "ac0c6ae1-daa3-4a89-832e-d3845EXAMPLE"
```
Sortie :  

```
{
    "WindowExecutionId": "518d5565-5969-4cca-8f0e-da3b2EXAMPLE",
    "TaskExecutionId": "ac0c6ae1-daa3-4a89-832e-d3845EXAMPLE",
    "TaskArn": "AWS-RunPatchBaseline",
    "ServiceRole": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
    "Type": "RUN_COMMAND",
    "TaskParameters": [
        {
            "BaselineOverride": {
                "Values": [
                    ""
                ]
            },
            "InstallOverrideList": {
                "Values": [
                    ""
                ]
            },
            "Operation": {
                "Values": [
                    "Scan"
                ]
            },
            "RebootOption": {
                "Values": [
                    "RebootIfNeeded"
                ]
            },
            "SnapshotId": {
                "Values": [
                    "{{ aws:ORCHESTRATION_ID }}"
                ]
            },
            "aws:InstanceId": {
                "Values": [
                    "i-02573cafcfEXAMPLE",
                    "i-0471e04240EXAMPLE",
                    "i-07782c72faEXAMPLE"
                ]
            }
        }
    ],
    "Priority": 1,
    "MaxConcurrency": "1",
    "MaxErrors": "3",
    "Status": "SUCCESS",
    "StartTime": "2021-08-04T11:45:35.088000-07:00",
    "EndTime": "2021-08-04T11:53:09.079000-07:00"
}
```
Pour plus d'informations, consultez la section [Afficher les informations relatives aux tâches et aux exécutions de tâches (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-task-info.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindowExecutionTask](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-maintenance-window-execution-task.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie les informations relatives à une tâche qui fait partie de l’exécution d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecutionTask -TaskId "ac0c6ae1-daa3-4a89-832e-d384503b6586" -WindowExecutionId "518d5565-5969-4cca-8f0e-da3b2a638355"
```
**Sortie** :  

```
EndTime           : 2/21/2017 4:00:35 PM
MaxConcurrency    : 1
MaxErrors         : 1
Priority          : 10
ServiceRole       : arn:aws:iam::123456789012:role/MaintenanceWindowsRole
StartTime         : 2/21/2017 4:00:34 PM
Status            : FAILED
StatusDetails     : The maximum error count was exceeded.
TaskArn           : AWS-RunShellScript
TaskExecutionId   : ac0c6ae1-daa3-4a89-832e-d384503b6586
TaskParameters    : {Amazon.Runtime.Internal.Util.AlwaysSendDictionary`2[System.String,Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskPara
                    meterValueExpression]}
Type              : RUN_COMMAND
WindowExecutionId : 518d5565-5969-4cca-8f0e-da3b2a638355
```
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindowExecutionTask](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie les informations relatives à une tâche qui fait partie de l’exécution d’une fenêtre de maintenance.**  

```
Get-SSMMaintenanceWindowExecutionTask -TaskId "ac0c6ae1-daa3-4a89-832e-d384503b6586" -WindowExecutionId "518d5565-5969-4cca-8f0e-da3b2a638355"
```
**Sortie** :  

```
EndTime           : 2/21/2017 4:00:35 PM
MaxConcurrency    : 1
MaxErrors         : 1
Priority          : 10
ServiceRole       : arn:aws:iam::123456789012:role/MaintenanceWindowsRole
StartTime         : 2/21/2017 4:00:34 PM
Status            : FAILED
StatusDetails     : The maximum error count was exceeded.
TaskArn           : AWS-RunShellScript
TaskExecutionId   : ac0c6ae1-daa3-4a89-832e-d384503b6586
TaskParameters    : {Amazon.Runtime.Internal.Util.AlwaysSendDictionary`2[System.String,Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskPara
                    meterValueExpression]}
Type              : RUN_COMMAND
WindowExecutionId : 518d5565-5969-4cca-8f0e-da3b2a638355
```
+  Pour plus de détails sur l'API, reportez-vous [GetMaintenanceWindowExecutionTask](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `GetParameter` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_GetParameter_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetParameter`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour afficher la valeur d’un paramètre**  
L’exemple `get-parameter` suivant répertorie la valeur de l’unique paramètre spécifié.  

```
aws ssm get-parameter \
    --name "MyStringParameter"
```
Sortie :  

```
{
    "Parameter": {
        "Name": "MyStringParameter",
        "Type": "String",
        "Value": "Veni",
        "Version": 1,
        "LastModifiedDate": 1530018761.888,
        "ARN": "arn:aws:ssm:us-east-2:111222333444:parameter/MyStringParameter"
        "DataType": "text"
    }
}
```
Pour plus d’informations, consultez [Utilisation de magasins de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-working-with.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 2 : pour déchiffrer la valeur d'un paramètre SecureString **  
L’exemple `get-parameter` suivant déchiffre la valeur du paramètre `SecureString` spécifié.  

```
aws ssm get-parameter \
    --name "MySecureStringParameter" \
    --with-decryption
```
Sortie :  

```
{
    "Parameter": {
        "Name": "MySecureStringParameter",
        "Type": "SecureString",
        "Value": "16679b88-310b-4895-a943-e0764EXAMPLE",
        "Version": 2,
        "LastModifiedDate": 1582155479.205,
        "ARN": "arn:aws:ssm:us-east-2:111222333444:parameter/MySecureStringParameter"
        "DataType": "text"
    }
}
```
Pour plus d’informations, consultez [Utilisation de magasins de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-working-with.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 3 : pour afficher la valeur d’un paramètre à l’aide d’étiquettes**  
L’exemple `get-parameter` suivant répertorie la valeur du paramètre unique spécifié à l’aide d’une étiquette.  

```
aws ssm get-parameter \
    --name "MyParameter:label"
```
Sortie :  

```
{
    "Parameter": {
        "Name": "MyParameter",
        "Type": "String",
        "Value": "parameter version 2",
        "Version": 2,
        "Selector": ":label",
        "LastModifiedDate": "2021-07-12T09:49:15.865000-07:00",
        "ARN": "arn:aws:ssm:us-west-2:786973925828:parameter/MyParameter",
        "DataType": "text"
    }
}
```
Pour plus d’informations, consultez [Utilisation des étiquettes de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 4 : pour afficher la valeur d’un paramètre en utilisant les versions**  
L’exemple `get-parameter` suivant répertorie la valeur de la version du paramètre unique spécifié.  

```
aws ssm get-parameter \
    --name "MyParameter:2"
```
Sortie :  

```
{
    "Parameter": {
        "Name": "MyParameter",
        "Type": "String",
        "Value": "parameter version 2",
        "Version": 2,
        "Selector": ":2",
        "LastModifiedDate": "2021-07-12T09:49:15.865000-07:00",
        "ARN": "arn:aws:ssm:us-west-2:786973925828:parameter/MyParameter",
        "DataType": "text"
    }
}
```
Pour plus d’informations, consultez [Utilisation des étiquettes de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetParameter](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-parameter.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Rust ]

**SDK pour Rust**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ssm#code-examples). 

```
    pub async fn list_path(&self, path: &str) -> Result<Vec<Parameter>, EC2Error> {
        let maybe_params: Vec<Result<Parameter, _>> = TryFlatMap::new(
            self.inner
                .get_parameters_by_path()
                .path(path)
                .into_paginator()
                .send(),
        )
        .flat_map(|item| item.parameters.unwrap_or_default())
        .collect()
        .await;
        // Fail on the first error
        let params = maybe_params
            .into_iter()
            .collect::<Result<Vec<Parameter>, _>>()?;
        Ok(params)
    }
```
+  Pour plus de détails sur l'API, voir [GetParameter](https://docs.rs/aws-sdk-ssm/latest/aws_sdk_ssm/client/struct.Client.html#method.get_parameter)la section de *référence de l'API AWS SDK for Rust*. 

------

# Utilisation de `GetParameterHistory` avec une CLI
<a name="ssm_example_ssm_GetParameterHistory_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetParameterHistory`.

------
#### [ CLI ]

**AWS CLI**  
**Pour obtenir un historique des valeurs d’un paramètre**  
L’exemple `get-parameter-history` suivant répertorie l’historique des modifications du paramètre spécifié, y compris sa valeur.  

```
aws ssm get-parameter-history \
    --name "MyStringParameter"
```
Sortie :  

```
{
    "Parameters": [
        {
            "Name": "MyStringParameter",
            "Type": "String",
            "LastModifiedDate": 1582154711.976,
            "LastModifiedUser": "arn:aws:iam::111222333444:user/Mary-Major",
            "Description": "This is the first version of my String parameter",
            "Value": "Veni",
            "Version": 1,
            "Labels": [],
            "Tier": "Standard",
            "Policies": []
        },
        {
            "Name": "MyStringParameter",
            "Type": "String",
            "LastModifiedDate": 1582156093.471,
            "LastModifiedUser": "arn:aws:iam::111222333444:user/Mary-Major",
            "Description": "This is the second version of my String parameter",
            "Value": "Vidi",
            "Version": 2,
            "Labels": [],
            "Tier": "Standard",
            "Policies": []
        },
        {
            "Name": "MyStringParameter",
            "Type": "String",
            "LastModifiedDate": 1582156117.545,
            "LastModifiedUser": "arn:aws:iam::111222333444:user/Mary-Major",
            "Description": "This is the third version of my String parameter",
            "Value": "Vici",
            "Version": 3,
            "Labels": [],
            "Tier": "Standard",
            "Policies": []
        }
    ]
}
```
Pour plus d’informations, consultez [Utilisation des versions de paramètre](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-versions.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetParameterHistory](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-parameter-history.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie l’historique des valeurs d’un paramètre.**  

```
Get-SSMParameterHistory -Name "Welcome"
```
**Sortie** :  

```
Description      :
KeyId            :
LastModifiedDate : 3/3/2017 6:55:25 PM
LastModifiedUser : arn:aws:iam::123456789012:user/admin
Name             : Welcome
Type             : String
Value            : helloWorld
```
+  Pour plus de détails sur l'API, reportez-vous [GetParameterHistory](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie l’historique des valeurs d’un paramètre.**  

```
Get-SSMParameterHistory -Name "Welcome"
```
**Sortie** :  

```
Description      :
KeyId            :
LastModifiedDate : 3/3/2017 6:55:25 PM
LastModifiedUser : arn:aws:iam::123456789012:user/admin
Name             : Welcome
Type             : String
Value            : helloWorld
```
+  Pour plus de détails sur l'API, reportez-vous [GetParameterHistory](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetParameters` avec une CLI
<a name="ssm_example_ssm_GetParameters_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetParameters`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier les valeurs d’un paramètre**  
L’exemple `get-parameters` suivant répertorie les valeurs des trois paramètres spécifiés.  

```
aws ssm get-parameters \
    --names "MyStringParameter" "MyStringListParameter" "MyInvalidParameterName"
```
Sortie :  

```
{
    "Parameters": [
        {
            "Name": "MyStringListParameter",
            "Type": "StringList",
            "Value": "alpha,beta,gamma",
            "Version": 1,
            "LastModifiedDate": 1582154764.222,
            "ARN": "arn:aws:ssm:us-east-2:111222333444:parameter/MyStringListParameter"
            "DataType": "text"
        },
        {
            "Name": "MyStringParameter",
            "Type": "String",
            "Value": "Vici",
            "Version": 3,
            "LastModifiedDate": 1582156117.545,
            "ARN": "arn:aws:ssm:us-east-2:111222333444:parameter/MyStringParameter"
            "DataType": "text"
        }
    ],
    "InvalidParameters": [
        "MyInvalidParameterName"
    ]
}
```
Pour plus d’informations, consultez [Utilisation de magasins de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-working-with.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 2 : pour répertorier les noms et les valeurs de plusieurs paramètres en utilisant l’option ``--query``**  
L’exemple `get-parameters` suivant répertorie les noms et les valeurs des paramètres spécifiés.  

```
aws ssm get-parameters \
    --names MyStringParameter MyStringListParameter \
    --query "Parameters[*].{Name:Name,Value:Value}"
```
Sortie :  

```
[
    {
        "Name": "MyStringListParameter",
        "Value": "alpha,beta,gamma"
    },
    {
        "Name": "MyStringParameter",
        "Value": "Vidi"
    }
]
```
Pour plus d’informations, consultez [Utilisation de magasins de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-working-with.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 3 : pour afficher la valeur d’un paramètre à l’aide d’étiquettes**  
L’exemple `get-parameter` suivant répertorie la valeur du paramètre unique spécifié à l’aide d’une étiquette.  

```
aws ssm get-parameter \
    --name "MyParameter:label"
```
Sortie :  

```
{
    "Parameters": [
        {
            "Name": "MyLabelParameter",
            "Type": "String",
            "Value": "parameter by label",
            "Version": 1,
            "Selector": ":label",
            "LastModifiedDate": "2021-07-12T09:49:15.865000-07:00",
            "ARN": "arn:aws:ssm:us-west-2:786973925828:parameter/MyParameter",
            "DataType": "text"
        },
        {
            "Name": "MyVersionParameter",
            "Type": "String",
            "Value": "parameter by version",
            "Version": 2,
            "Selector": ":2",
            "LastModifiedDate": "2021-03-24T16:20:28.236000-07:00",
            "ARN": "arn:aws:ssm:us-west-2:786973925828:parameter/unlabel-param",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```
Pour plus d’informations, consultez [Utilisation des étiquettes de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetParameters](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-parameters.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie les valeurs d’un paramètre.**  

```
Get-SSMParameterValue -Name "Welcome"
```
**Sortie** :  

```
InvalidParameters Parameters
----------------- ----------
{}                {Welcome}
```
**Exemple 2 : cet exemple répertorie les détails de la valeur.**  

```
(Get-SSMParameterValue -Name "Welcome").Parameters
```
**Sortie** :  

```
Name    Type   Value
----    ----   -----
Welcome String Good day, Sunshine!
```
+  Pour plus de détails sur l'API, reportez-vous [GetParameters](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie les valeurs d’un paramètre.**  

```
Get-SSMParameterValue -Name "Welcome"
```
**Sortie** :  

```
InvalidParameters Parameters
----------------- ----------
{}                {Welcome}
```
**Exemple 2 : cet exemple répertorie les détails de la valeur.**  

```
(Get-SSMParameterValue -Name "Welcome").Parameters
```
**Sortie** :  

```
Name    Type   Value
----    ----   -----
Welcome String Good day, Sunshine!
```
+  Pour plus de détails sur l'API, reportez-vous [GetParameters](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetPatchBaseline` avec une CLI
<a name="ssm_example_ssm_GetPatchBaseline_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetPatchBaseline`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher un référentiel de correctifs**  
L’exemple `get-patch-baseline` suivant récupère les détails du référentiel de correctifs spécifié.  

```
aws ssm get-patch-baseline \
    --baseline-id "pb-0123456789abcdef0"
```
Sortie :  

```
{
    "BaselineId": "pb-0123456789abcdef0",
    "Name": "WindowsPatching",
    "OperatingSystem": "WINDOWS",
    "GlobalFilters": {
        "PatchFilters": []
    },
    "ApprovalRules": {
        "PatchRules": [
            {
                "PatchFilterGroup": {
                    "PatchFilters": [
                        {
                            "Key": "PRODUCT",
                            "Values": [
                                "WindowsServer2016"
                            ]
                        }
                    ]
                },
                "ComplianceLevel": "CRITICAL",
                "ApproveAfterDays": 0,
                "EnableNonSecurity": false
            }
        ]
    },
    "ApprovedPatches": [],
    "ApprovedPatchesComplianceLevel": "UNSPECIFIED",
    "ApprovedPatchesEnableNonSecurity": false,
    "RejectedPatches": [],
    "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY",
    "PatchGroups": [
        "QA",
        "DEV"
    ],
    "CreatedDate": 1550244180.465,
    "ModifiedDate": 1550244180.465,
    "Description": "Patches for Windows Servers",
    "Sources": []
}
```
Pour plus d’informations, consultez [À propos des référentiels de correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/about-patch-baselines.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetPatchBaseline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-patch-baseline.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple affiche les détails d’un référentiel de correctifs.**  

```
Get-SSMPatchBaselineDetail -BaselineId "pb-03da896ca3b68b639"
```
**Sortie** :  

```
ApprovalRules   : Amazon.SimpleSystemsManagement.Model.PatchRuleGroup
ApprovedPatches : {}
BaselineId      : pb-03da896ca3b68b639
CreatedDate     : 3/3/2017 5:02:19 PM
Description     : Baseline containing all updates approved for production systems
GlobalFilters   : Amazon.SimpleSystemsManagement.Model.PatchFilterGroup
ModifiedDate    : 3/3/2017 5:02:19 PM
Name            : Production-Baseline
PatchGroups     : {}
RejectedPatches : {}
```
+  Pour plus de détails sur l'API, reportez-vous [GetPatchBaseline](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple affiche les détails d’un référentiel de correctifs.**  

```
Get-SSMPatchBaselineDetail -BaselineId "pb-03da896ca3b68b639"
```
**Sortie** :  

```
ApprovalRules   : Amazon.SimpleSystemsManagement.Model.PatchRuleGroup
ApprovedPatches : {}
BaselineId      : pb-03da896ca3b68b639
CreatedDate     : 3/3/2017 5:02:19 PM
Description     : Baseline containing all updates approved for production systems
GlobalFilters   : Amazon.SimpleSystemsManagement.Model.PatchFilterGroup
ModifiedDate    : 3/3/2017 5:02:19 PM
Name            : Production-Baseline
PatchGroups     : {}
RejectedPatches : {}
```
+  Pour plus de détails sur l'API, reportez-vous [GetPatchBaseline](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `GetPatchBaselineForPatchGroup` avec une CLI
<a name="ssm_example_ssm_GetPatchBaselineForPatchGroup_section"></a>

Les exemples de code suivants illustrent comment utiliser `GetPatchBaselineForPatchGroup`.

------
#### [ CLI ]

**AWS CLI**  
**Pour afficher le référentiel de correctifs d’un groupe de correctifs**  
L’exemple `get-patch-baseline-for-patch-group` suivant permet de récupérer les détails du référentiel de correctifs pour le groupe de correctifs spécifié.  

```
aws ssm get-patch-baseline-for-patch-group \
    --patch-group "DEV"
```
Sortie :  

```
{
    "PatchGroup": "DEV",
    "BaselineId": "pb-0123456789abcdef0",
    "OperatingSystem": "WINDOWS"
}
```
Pour plus d'informations, consultez les sections Créer un groupe de correctifs < https://docs.aws.amazon.com/systems-manager/ latest/userguide/sysman - patch-group-tagging .html>\$1\$1 et [Ajouter un groupe de correctifs à une ligne de base de correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-group-patchbaseline.html) dans le guide de l'utilisateur de *AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [GetPatchBaselineForPatchGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-patch-baseline-for-patch-group.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple affiche le référentiel de correctifs pour un groupe de correctifs.**  

```
Get-SSMPatchBaselineForPatchGroup -PatchGroup "Production"
```
**Sortie** :  

```
BaselineId           PatchGroup
----------           ----------
pb-045f10b4f382baeda Production
```
+  Pour plus de détails sur l'API, reportez-vous [GetPatchBaselineForPatchGroup](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple affiche le référentiel de correctifs pour un groupe de correctifs.**  

```
Get-SSMPatchBaselineForPatchGroup -PatchGroup "Production"
```
**Sortie** :  

```
BaselineId           PatchGroup
----------           ----------
pb-045f10b4f382baeda Production
```
+  Pour plus de détails sur l'API, reportez-vous [GetPatchBaselineForPatchGroup](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListAssociationVersions` avec une CLI
<a name="ssm_example_ssm_ListAssociationVersions_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListAssociationVersions`.

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier toutes les versions d’une association pour un ID d’association spécifique**  
L’exemple `list-association-versions` suivant répertorie toutes les versions des associations spécifiées.  

```
aws ssm list-association-versions \
    --association-id "8dfe3659-4309-493a-8755-0123456789ab"
```
Sortie :  

```
{
"AssociationVersions": [
        {
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "AssociationVersion": "1",
            "CreatedDate": 1550505536.726,
            "Name": "AWS-UpdateSSMAgent",
            "Parameters": {
                "allowDowngrade": [
                    "false"
                ],
                "version": [
                    ""
                ]
            },
            "Targets": [
                {
                    "Key": "InstanceIds",
                    "Values": [
                        "i-1234567890abcdef0"
                    ]
                }
            ],
            "ScheduleExpression": "cron(0 00 12 ? * SUN *)",
            "AssociationName": "UpdateSSMAgent"
        }
    ]
}
```
Pour plus d’informations, consultez [Utilisation des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-associations.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [ListAssociationVersions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-association-versions.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet de récupérer toutes les versions de l’association fournie.**  

```
Get-SSMAssociationVersionList -AssociationId 123a45a0-c678-9012-3456-78901234db5e
```
**Sortie** :  

```
AssociationId      : 123a45a0-c678-9012-3456-78901234db5e
AssociationName    :
AssociationVersion : 2
ComplianceSeverity :
CreatedDate        : 3/12/2019 9:21:01 AM
DocumentVersion    :
MaxConcurrency     :
MaxErrors          :
Name               : AWS-GatherSoftwareInventory
OutputLocation     :
Parameters         : {}
ScheduleExpression :
Targets            : {InstanceIds}

AssociationId      : 123a45a0-c678-9012-3456-78901234db5e
AssociationName    : test-case-1234567890
AssociationVersion : 1
ComplianceSeverity :
CreatedDate        : 3/2/2019 8:53:29 AM
DocumentVersion    :
MaxConcurrency     :
MaxErrors          :
Name               : AWS-GatherSoftwareInventory
OutputLocation     :
Parameters         : {}
ScheduleExpression : rate(30minutes)
Targets            : {InstanceIds}
```
+  Pour plus de détails sur l'API, reportez-vous [ListAssociationVersions](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet de récupérer toutes les versions de l’association fournie.**  

```
Get-SSMAssociationVersionList -AssociationId 123a45a0-c678-9012-3456-78901234db5e
```
**Sortie** :  

```
AssociationId      : 123a45a0-c678-9012-3456-78901234db5e
AssociationName    :
AssociationVersion : 2
ComplianceSeverity :
CreatedDate        : 3/12/2019 9:21:01 AM
DocumentVersion    :
MaxConcurrency     :
MaxErrors          :
Name               : AWS-GatherSoftwareInventory
OutputLocation     :
Parameters         : {}
ScheduleExpression :
Targets            : {InstanceIds}

AssociationId      : 123a45a0-c678-9012-3456-78901234db5e
AssociationName    : test-case-1234567890
AssociationVersion : 1
ComplianceSeverity :
CreatedDate        : 3/2/2019 8:53:29 AM
DocumentVersion    :
MaxConcurrency     :
MaxErrors          :
Name               : AWS-GatherSoftwareInventory
OutputLocation     :
Parameters         : {}
ScheduleExpression : rate(30minutes)
Targets            : {InstanceIds}
```
+  Pour plus de détails sur l'API, reportez-vous [ListAssociationVersions](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListAssociations` avec une CLI
<a name="ssm_example_ssm_ListAssociations_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListAssociations`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier vos associations pour une instance spécifique**  
L'exemple de liste-associations suivant répertorie toutes les associations avec le paramètre Update AssociationName. SSMAgent  

```
aws ssm list-associations /
    --association-filter-list "key=AssociationName,value=UpdateSSMAgent"
```
Sortie :  

```
{
    "Associations": [
        {
            "Name": "AWS-UpdateSSMAgent",
            "InstanceId": "i-1234567890abcdef0",
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "AssociationVersion": "1",
            "Targets": [
                {
                    "Key": "InstanceIds",
                    "Values": [
                        "i-016648b75dd622dab"
                    ]
                }
            ],
            "Overview": {
                "Status": "Pending",
                "DetailedStatus": "Associated",
                "AssociationStatusAggregatedCount": {
                    "Pending": 1
                }
            },
            "ScheduleExpression": "cron(0 00 12 ? * SUN *)",
            "AssociationName": "UpdateSSMAgent"
        }
    ]
}
```
Pour plus d’informations, consultez [Utilisation des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-associations.html) dans le *Guide de l’utilisateur Systems Manager*.  
**Exemple 2 : pour répertorier vos associations pour un document spécifique**  
L’exemple list-associations suivant répertorie toutes les associations pour le document spécifié.  

```
aws ssm list-associations /
    --association-filter-list "key=Name,value=AWS-UpdateSSMAgent"
```
Sortie :  

```
{
    "Associations": [
        {
            "Name": "AWS-UpdateSSMAgent",
            "InstanceId": "i-1234567890abcdef0",
            "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
            "AssociationVersion": "1",
            "Targets": [
                {
                    "Key": "InstanceIds",
                    "Values": [
                        "i-1234567890abcdef0"
                    ]
                }
            ],
            "LastExecutionDate": 1550505828.548,
            "Overview": {
                "Status": "Success",
                "DetailedStatus": "Success",
                "AssociationStatusAggregatedCount": {
                    "Success": 1
                }
            },
            "ScheduleExpression": "cron(0 00 12 ? * SUN *)",
            "AssociationName": "UpdateSSMAgent"
        },
    {
            "Name": "AWS-UpdateSSMAgent",
            "InstanceId": "i-9876543210abcdef0",
            "AssociationId": "fbc07ef7-b985-4684-b82b-0123456789ab",
            "AssociationVersion": "1",
            "Targets": [
                {
                    "Key": "InstanceIds",
                    "Values": [
                        "i-9876543210abcdef0"
                    ]
                }
            ],
            "LastExecutionDate": 1550507531.0,
            "Overview": {
                "Status": "Success",
                "AssociationStatusAggregatedCount": {
                    "Success": 1
                }
            }
        }
    ]
}
```
Pour plus d’informations, consultez [Utilisation des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-associations.html) dans le *Guide de l’utilisateur Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [ListAssociations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-associations.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les associations pour une instance. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter1 = @{Key="InstanceId";Value=@("i-0000293ffd8c57862")}
Get-SSMAssociationList -AssociationFilterList $filter1
```
**Sortie** :  

```
AssociationId      : d8617c07-2079-4c18-9847-1655fc2698b0
DocumentVersion    :
InstanceId         : i-0000293ffd8c57862
LastExecutionDate  : 2/20/2015 8:31:11 AM
Name               : AWS-UpdateSSMAgent
Overview           : Amazon.SimpleSystemsManagement.Model.AssociationOverview
ScheduleExpression :
Targets            : {InstanceIds}
```
**Exemple 2 : cet exemple répertorie toutes les associations pour un document de configuration. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter2 = @{Key="Name";Value=@("AWS-UpdateSSMAgent")}
Get-SSMAssociationList -AssociationFilterList $filter2
```
**Sortie** :  

```
AssociationId      : d8617c07-2079-4c18-9847-1655fc2698b0
DocumentVersion    :
InstanceId         : i-0000293ffd8c57862
LastExecutionDate  : 2/20/2015 8:31:11 AM
Name               : AWS-UpdateSSMAgent
Overview           : Amazon.SimpleSystemsManagement.Model.AssociationOverview
ScheduleExpression :
Targets            : {InstanceIds}
```
**Exemple 3 : Avec PowerShell la version 2, vous devez utiliser New-Object pour créer chaque filtre.**  

```
$filter1 = New-Object Amazon.SimpleSystemsManagement.Model.AssociationFilter
$filter1.Key = "InstanceId"
$filter1.Value = "i-0000293ffd8c57862"

Get-SSMAssociationList -AssociationFilterList $filter1
```
**Sortie** :  

```
AssociationId      : d8617c07-2079-4c18-9847-1655fc2698b0
DocumentVersion    :
InstanceId         : i-0000293ffd8c57862
LastExecutionDate  : 2/20/2015 8:31:11 AM
Name               : AWS-UpdateSSMAgent
Overview           : Amazon.SimpleSystemsManagement.Model.AssociationOverview
ScheduleExpression :
Targets            : {InstanceIds}
```
+  Pour plus de détails sur l'API, reportez-vous [ListAssociations](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les associations pour une instance. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter1 = @{Key="InstanceId";Value=@("i-0000293ffd8c57862")}
Get-SSMAssociationList -AssociationFilterList $filter1
```
**Sortie** :  

```
AssociationId      : d8617c07-2079-4c18-9847-1655fc2698b0
DocumentVersion    :
InstanceId         : i-0000293ffd8c57862
LastExecutionDate  : 2/20/2015 8:31:11 AM
Name               : AWS-UpdateSSMAgent
Overview           : Amazon.SimpleSystemsManagement.Model.AssociationOverview
ScheduleExpression :
Targets            : {InstanceIds}
```
**Exemple 2 : cet exemple répertorie toutes les associations pour un document de configuration. La syntaxe utilisée dans cet exemple nécessite PowerShell la version 3 ou ultérieure.**  

```
$filter2 = @{Key="Name";Value=@("AWS-UpdateSSMAgent")}
Get-SSMAssociationList -AssociationFilterList $filter2
```
**Sortie** :  

```
AssociationId      : d8617c07-2079-4c18-9847-1655fc2698b0
DocumentVersion    :
InstanceId         : i-0000293ffd8c57862
LastExecutionDate  : 2/20/2015 8:31:11 AM
Name               : AWS-UpdateSSMAgent
Overview           : Amazon.SimpleSystemsManagement.Model.AssociationOverview
ScheduleExpression :
Targets            : {InstanceIds}
```
**Exemple 3 : Avec PowerShell la version 2, vous devez utiliser New-Object pour créer chaque filtre.**  

```
$filter1 = New-Object Amazon.SimpleSystemsManagement.Model.AssociationFilter
$filter1.Key = "InstanceId"
$filter1.Value = "i-0000293ffd8c57862"

Get-SSMAssociationList -AssociationFilterList $filter1
```
**Sortie** :  

```
AssociationId      : d8617c07-2079-4c18-9847-1655fc2698b0
DocumentVersion    :
InstanceId         : i-0000293ffd8c57862
LastExecutionDate  : 2/20/2015 8:31:11 AM
Name               : AWS-UpdateSSMAgent
Overview           : Amazon.SimpleSystemsManagement.Model.AssociationOverview
ScheduleExpression :
Targets            : {InstanceIds}
```
+  Pour plus de détails sur l'API, reportez-vous [ListAssociations](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `ListCommandInvocations` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_ListCommandInvocations_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListCommandInvocations`.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant : 
+  [Principes de base](ssm_example_ssm_Scenario_section.md) 

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier les invocations d’une commande spécifique**  
L’exemple `list-command-invocations` suivant répertorie toutes les invocations d’une commande.  

```
aws ssm list-command-invocations \
    --command-id "ef7fdfd8-9b57-4151-a15c-db9a12345678" \
    --details
```
Sortie :  

```
{
    "CommandInvocations": [
        {
            "CommandId": "ef7fdfd8-9b57-4151-a15c-db9a12345678",
            "InstanceId": "i-02573cafcfEXAMPLE",
            "InstanceName": "",
            "Comment": "b48291dd-ba76-43e0-b9df-13e11ddaac26:6960febb-2907-4b59-8e1a-d6ce8EXAMPLE",
            "DocumentName": "AWS-UpdateSSMAgent",
            "DocumentVersion": "",
            "RequestedDateTime": 1582136283.089,
            "Status": "Success",
            "StatusDetails": "Success",
            "StandardOutputUrl": "",
            "StandardErrorUrl": "",
            "CommandPlugins": [
                {
                    "Name": "aws:updateSsmAgent",
                    "Status": "Success",
                    "StatusDetails": "Success",
                    "ResponseCode": 0,
                    "ResponseStartDateTime": 1582136283.419,
                    "ResponseFinishDateTime": 1582136283.51,
                    "Output": "Updating amazon-ssm-agent from 2.3.842.0 to latest\nSuccessfully downloaded https://s3.us-east-2.amazonaws.com/amazon-ssm-us-east-2/ssm-agent-manifest.json\namazon-ssm-agent 2.3.842.0 has already been installed, update skipped\n",
                    "StandardOutputUrl": "",
                    "StandardErrorUrl": "",
                    "OutputS3Region": "us-east-2",
                    "OutputS3BucketName": "",
                    "OutputS3KeyPrefix": ""
                }
            ],
            "ServiceRole": "",
            "NotificationConfig": {
                "NotificationArn": "",
                "NotificationEvents": [],
                "NotificationType": ""
            },
            "CloudWatchOutputConfig": {
                "CloudWatchLogGroupName": "",
                "CloudWatchOutputEnabled": false
            }
        },
        {
            "CommandId": "ef7fdfd8-9b57-4151-a15c-db9a12345678",
            "InstanceId": "i-0471e04240EXAMPLE",
            "InstanceName": "",
            "Comment": "b48291dd-ba76-43e0-b9df-13e11ddaac26:6960febb-2907-4b59-8e1a-d6ce8EXAMPLE",
            "DocumentName": "AWS-UpdateSSMAgent",
            "DocumentVersion": "",
            "RequestedDateTime": 1582136283.02,
            "Status": "Success",
            "StatusDetails": "Success",
            "StandardOutputUrl": "",
            "StandardErrorUrl": "",
            "CommandPlugins": [
                {
                    "Name": "aws:updateSsmAgent",
                    "Status": "Success",
                    "StatusDetails": "Success",
                    "ResponseCode": 0,
                    "ResponseStartDateTime": 1582136283.812,
                    "ResponseFinishDateTime": 1582136295.031,
                    "Output": "Updating amazon-ssm-agent from 2.3.672.0 to latest\nSuccessfully downloaded https://s3.us-east-2.amazonaws.com/amazon-ssm-us-east-2/ssm-agent-manifest.json\nSuccessfully downloaded https://s3.us-east-2.amazonaws.com/amazon-ssm-us-east-2/amazon-ssm-agent-updater/2.3.842.0/amazon-ssm-agent-updater-snap-amd64.tar.gz\nSuccessfully downloaded https://s3.us-east-2.amazonaws.com/amazon-ssm-us-east-2/amazon-ssm-agent/2.3.672.0/amazon-ssm-agent-snap-amd64.tar.gz\nSuccessfully downloaded https://s3.us-east-2.amazonaws.com/amazon-ssm-us-east-2/amazon-ssm-agent/2.3.842.0/amazon-ssm-agent-snap-amd64.tar.gz\nInitiating amazon-ssm-agent update to 2.3.842.0\namazon-ssm-agent updated successfully to 2.3.842.0",
                    "StandardOutputUrl": "",
                    "StandardErrorUrl": "",
                    "OutputS3Region": "us-east-2",
                    "OutputS3BucketName": "",
                    "OutputS3KeyPrefix": "8bee3135-398c-4d31-99b6-e42d2EXAMPLE/i-0471e04240EXAMPLE/awsupdateSsmAgent"
                }
            ],
            "ServiceRole": "",
            "NotificationConfig": {
                "NotificationArn": "",
                "NotificationEvents": [],
                "NotificationType": ""
            },
            "CloudWatchOutputConfig": {
                "CloudWatchLogGroupName": "",
                "CloudWatchOutputEnabled": false
            }
        }
    ]
}
```
Pour plus d’informations, consultez [Comprendre les statuts de commande](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [ListCommandInvocations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-command-invocations.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { paginateListCommandInvocations, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * List SSM command invocations on an instance.
 * @param {{ instanceId: string }}
 */
export const main = async ({ instanceId }) => {
  const client = new SSMClient({});
  try {
    const listCommandInvocationsPaginated = [];
    // The paginate function is a wrapper around the base command.
    const paginator = paginateListCommandInvocations(
      { client },
      {
        InstanceId: instanceId,
      },
    );
    for await (const page of paginator) {
      listCommandInvocationsPaginated.push(...page.CommandInvocations);
    }
    console.log("Here is the list of command invocations:");
    console.log(listCommandInvocationsPaginated);
    return { CommandInvocations: listCommandInvocationsPaginated };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "ValidationError") {
      console.warn(`${caught.message}. Did you provide a valid instance ID?`);
    }
    throw caught;
  }
};
```
+  Pour plus de détails sur l'API, voir [ListCommandInvocations](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/ListCommandInvocationsCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les invocations d’une commande.**  

```
Get-SSMCommandInvocation -CommandId "b8eac879-0541-439d-94ec-47a80d554f44" -Detail $true
```
**Sortie** :  

```
CommandId          : b8eac879-0541-439d-94ec-47a80d554f44
CommandPlugins     : {aws:runShellScript}
Comment            : IP config
DocumentName       : AWS-RunShellScript
InstanceId         : i-0cb2b964d3e14fd9f
InstanceName       :
NotificationConfig : Amazon.SimpleSystemsManagement.Model.NotificationConfig
RequestedDateTime  : 2/22/2017 8:13:16 PM
ServiceRole        :
StandardErrorUrl   :
StandardOutputUrl  :
Status             : Success
StatusDetails      : Success
TraceOutput        :
```
**Exemple 2 : Cet exemple répertorie CommandPlugins pour l'invocation de l'identifiant de commande e1eb2e3c-ed4c-5123-45c1-234f5612345f**  

```
Get-SSMCommandInvocation -CommandId e1eb2e3c-ed4c-5123-45c1-234f5612345f -Detail:$true | Select-Object -ExpandProperty CommandPlugins
```
**Sortie** :  

```
Name                   : aws:runPowerShellScript
Output                 : Completed 17.7 KiB/17.7 KiB (40.1 KiB/s) with 1 file(s) remainingdownload: s3://dd-aess-r-ctmer/KUMO.png to ..\..\programdata\KUMO.png
                         kumo available

OutputS3BucketName     :
OutputS3KeyPrefix      :
OutputS3Region         : eu-west-1
ResponseCode           : 0
ResponseFinishDateTime : 4/3/2019 11:53:23 AM
ResponseStartDateTime  : 4/3/2019 11:53:21 AM
StandardErrorUrl       :
StandardOutputUrl      :
Status                 : Success
StatusDetails          : Success
```
+  Pour plus de détails sur l'API, reportez-vous [ListCommandInvocations](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les invocations d’une commande.**  

```
Get-SSMCommandInvocation -CommandId "b8eac879-0541-439d-94ec-47a80d554f44" -Detail $true
```
**Sortie** :  

```
CommandId          : b8eac879-0541-439d-94ec-47a80d554f44
CommandPlugins     : {aws:runShellScript}
Comment            : IP config
DocumentName       : AWS-RunShellScript
InstanceId         : i-0cb2b964d3e14fd9f
InstanceName       :
NotificationConfig : Amazon.SimpleSystemsManagement.Model.NotificationConfig
RequestedDateTime  : 2/22/2017 8:13:16 PM
ServiceRole        :
StandardErrorUrl   :
StandardOutputUrl  :
Status             : Success
StatusDetails      : Success
TraceOutput        :
```
**Exemple 2 : Cet exemple répertorie CommandPlugins pour l'invocation de l'identifiant de commande e1eb2e3c-ed4c-5123-45c1-234f5612345f**  

```
Get-SSMCommandInvocation -CommandId e1eb2e3c-ed4c-5123-45c1-234f5612345f -Detail:$true | Select-Object -ExpandProperty CommandPlugins
```
**Sortie** :  

```
Name                   : aws:runPowerShellScript
Output                 : Completed 17.7 KiB/17.7 KiB (40.1 KiB/s) with 1 file(s) remainingdownload: s3://dd-aess-r-ctmer/KUMO.png to ..\..\programdata\KUMO.png
                         kumo available

OutputS3BucketName     :
OutputS3KeyPrefix      :
OutputS3Region         : eu-west-1
ResponseCode           : 0
ResponseFinishDateTime : 4/3/2019 11:53:23 AM
ResponseStartDateTime  : 4/3/2019 11:53:21 AM
StandardErrorUrl       :
StandardOutputUrl      :
Status                 : Success
StatusDetails          : Success
```
+  Pour plus de détails sur l'API, reportez-vous [ListCommandInvocations](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class DocumentWrapper:
    """Encapsulates AWS Systems Manager Document actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def list_command_invocations(self, instance_id):
        """
        Lists the commands for an instance.

        :param instance_id: The ID of the instance.
        :return: The list of commands.
        """
        try:
            paginator = self.ssm_client.get_paginator("list_command_invocations")
            command_invocations = []
            for page in paginator.paginate(InstanceId=instance_id):
                command_invocations.extend(page["CommandInvocations"])
            num_of_commands = len(command_invocations)
            print(
                f"{num_of_commands} command invocation(s) found for instance {instance_id}."
            )

            if num_of_commands > 10:
                print("Displaying the first 10 commands:")
                num_of_commands = 10
            date_format = "%A, %d %B %Y %I:%M%p"
            for command in command_invocations[:num_of_commands]:
                print(
                    f"   The time of command invocation is {command['RequestedDateTime'].strftime(date_format)}"
                )
        except ClientError as err:
            logger.error(
                "Couldn't list commands for %s. Here's why: %s: %s",
                instance_id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [ListCommandInvocations](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/ListCommandInvocations)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        " Use paginator to get all results
        DATA(lo_paginator) = lo_ssm->get_paginator( ).
        DATA(lo_iterator) = lo_paginator->listcommandinvocations(
          iv_instanceid = iv_instance_id ).

        DATA lv_count TYPE i VALUE 0.

        WHILE lo_iterator->has_next( ).
          DATA(lo_result) = CAST /aws1/cl_ssmlistcmdinvcsresult( lo_iterator->get_next( ) ).
          LOOP AT lo_result->get_commandinvocations( ) INTO DATA(lo_invocation).
            lv_count = lv_count + 1.
            DATA(lv_requested_datetime) = lo_invocation->get_requesteddatetime( ).
            MESSAGE |Command invocation requested at: { lv_requested_datetime }| TYPE 'I'.
          ENDLOOP.
        ENDWHILE.

        MESSAGE |{ lv_count } command invocation(s) found for instance { iv_instance_id }.| TYPE 'I'.
      CATCH /aws1/cx_ssminvalidinstanceid.
        MESSAGE 'Invalid instance ID.' TYPE 'I'.
      CATCH /aws1/cx_ssminvalidcommandid.
        MESSAGE 'Invalid command ID.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [ListCommandInvocations](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation de `ListCommands` avec une CLI
<a name="ssm_example_ssm_ListCommands_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListCommands`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour obtenir le statut d’une commande spécifique**  
L’exemple `list-commands` suivant récupère et affiche le statut de la commande spécifiée.  

```
aws ssm list-commands \
    --command-id "0831e1a8-a1ac-4257-a1fd-c831bEXAMPLE"
```
**Exemple 2 : pour obtenir le statut des commandes demandées après une date donnée**  
L’exemple `list-commands` suivant permet de récupérer les détails des commandes demandées après la date spécifiée.  

```
aws ssm list-commands \
    --filter "key=InvokedAfter,value=2020-02-01T00:00:00Z"
```
**Exemple 3 : Pour répertorier toutes les commandes demandées dans un AWS compte**  
L'`list-commands`exemple suivant répertorie toutes les commandes demandées par les utilisateurs du AWS compte courant et de la région.  

```
aws ssm list-commands
```
Sortie :  

```
{
    "Commands": [
        {
            "CommandId": "8bee3135-398c-4d31-99b6-e42d2EXAMPLE",
            "DocumentName": "AWS-UpdateSSMAgent",
            "DocumentVersion": "",
            "Comment": "b48291dd-ba76-43e0-b9df-13e11ddaac26:6960febb-2907-4b59-8e1a-d6ce8EXAMPLE",
            "ExpiresAfter": "2020-02-19T11:28:02.500000-08:00",
            "Parameters": {},
            "InstanceIds": [
                "i-028ea792daEXAMPLE",
                "i-02feef8c46EXAMPLE",
                "i-038613f3f0EXAMPLE",
                "i-03a530a2d4EXAMPLE",
                "i-083b678d37EXAMPLE",
                "i-0dee81debaEXAMPLE"
            ],
            "Targets": [],
            "RequestedDateTime": "2020-02-19T10:18:02.500000-08:00",
            "Status": "Success",
            "StatusDetails": "Success",
            "OutputS3BucketName": "",
            "OutputS3KeyPrefix": "",
            "MaxConcurrency": "50",
            "MaxErrors": "100%",
            "TargetCount": 6,
            "CompletedCount": 6,
            "ErrorCount": 0,
            "DeliveryTimedOutCount": 0,
            "ServiceRole": "",
            "NotificationConfig": {
                "NotificationArn": "",
                "NotificationEvents": [],
                "NotificationType": ""
            },
            "CloudWatchOutputConfig": {
                "CloudWatchLogGroupName": "",
                "CloudWatchOutputEnabled": false
            }
        }
        {
            "CommandId": "e9ade581-c03d-476b-9b07-26667EXAMPLE",
            "DocumentName": "AWS-FindWindowsUpdates",
            "DocumentVersion": "1",
            "Comment": "",
            "ExpiresAfter": "2020-01-24T12:37:31.874000-08:00",
            "Parameters": {
                "KbArticleIds": [
                    ""
                ],
                "UpdateLevel": [
                    "All"
                ]
            },
            "InstanceIds": [],
            "Targets": [
                {
                    "Key": "InstanceIds",
                    "Values": [
                        "i-00ec29b21eEXAMPLE",
                        "i-09911ddd90EXAMPLE"
                    ]
                }
            ],
            "RequestedDateTime": "2020-01-24T11:27:31.874000-08:00",
            "Status": "Success",
            "StatusDetails": "Success",
            "OutputS3BucketName": "my-us-east-2-bucket",
            "OutputS3KeyPrefix": "my-rc-output",
            "MaxConcurrency": "50",
            "MaxErrors": "0",
            "TargetCount": 2,
            "CompletedCount": 2,
            "ErrorCount": 0,
            "DeliveryTimedOutCount": 0,
            "ServiceRole": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
            "NotificationConfig": {
                "NotificationArn": "arn:aws:sns:us-east-2:111222333444:my-us-east-2-notification-arn",
                "NotificationEvents": [
                    "All"
                ],
                "NotificationType": "Invocation"
            },
            "CloudWatchOutputConfig": {
                "CloudWatchLogGroupName": "",
                "CloudWatchOutputEnabled": false
            }
        }
        {
            "CommandId": "d539b6c3-70e8-4853-80e5-0ce4fEXAMPLE",
            "DocumentName": "AWS-RunPatchBaseline",
            "DocumentVersion": "1",
            "Comment": "",
            "ExpiresAfter": "2020-01-24T12:21:04.350000-08:00",
            "Parameters": {
                "InstallOverrideList": [
                    ""
                ],
                "Operation": [
                    "Install"
                ],
                "RebootOption": [
                    "RebootIfNeeded"
                ],
                "SnapshotId": [
                    ""
                ]
            },
            "InstanceIds": [],
            "Targets": [
                {
                    "Key": "InstanceIds",
                    "Values": [
                        "i-00ec29b21eEXAMPLE",
                        "i-09911ddd90EXAMPLE"
                    ]
                }
            ],
            "RequestedDateTime": "2020-01-24T11:11:04.350000-08:00",
            "Status": "Success",
            "StatusDetails": "Success",
            "OutputS3BucketName": "my-us-east-2-bucket",
            "OutputS3KeyPrefix": "my-rc-output",
            "MaxConcurrency": "50",
            "MaxErrors": "0",
            "TargetCount": 2,
            "CompletedCount": 2,
            "ErrorCount": 0,
            "DeliveryTimedOutCount": 0,
            "ServiceRole": "arn:aws:iam::111222333444:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM",
            "NotificationConfig": {
                "NotificationArn": "arn:aws:sns:us-east-2:111222333444:my-us-east-2-notification-arn",
                "NotificationEvents": [
                    "All"
                ],
                "NotificationType": "Invocation"
            },
            "CloudWatchOutputConfig": {
                "CloudWatchLogGroupName": "",
                "CloudWatchOutputEnabled": false
            }
        }
    ]
}
```
Pour plus d’informations, consultez [Exécution de commandes à l’aide de Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [ListCommands](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-commands.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les commandes demandées.**  

```
Get-SSMCommand
```
**Sortie** :  

```
CommandId          : 4b75a163-d39a-4d97-87c9-98ae52c6be35
Comment            : Apply association with id at update time: 4cc73e42-d5ae-4879-84f8-57e09c0efcd0
CompletedCount     : 1
DocumentName       : AWS-RefreshAssociation
ErrorCount         : 0
ExpiresAfter       : 2/24/2017 3:19:08 AM
InstanceIds        : {i-0cb2b964d3e14fd9f}
MaxConcurrency     : 50
MaxErrors          : 0
NotificationConfig : Amazon.SimpleSystemsManagement.Model.NotificationConfig
OutputS3BucketName :
OutputS3KeyPrefix  :
OutputS3Region     :
Parameters         : {[associationIds, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
RequestedDateTime  : 2/24/2017 3:18:08 AM
ServiceRole        :
Status             : Success
StatusDetails      : Success
TargetCount        : 1
Targets            : {}
```
**Exemple 2 : cet exemple permet d’obtenir le statut d’une commande spécifique.**  

```
Get-SSMCommand -CommandId "4b75a163-d39a-4d97-87c9-98ae52c6be35"
```
**Exemple 3 : cet exemple récupère toutes les commandes SSM invoquées après 2019-04-01T00:00:00Z **  

```
Get-SSMCommand -Filter @{Key="InvokedAfter";Value="2019-04-01T00:00:00Z"} | Select-Object CommandId, DocumentName, Status, RequestedDateTime | Sort-Object -Property RequestedDateTime -Descending
```
**Sortie** :  

```
CommandId                            DocumentName               Status    RequestedDateTime
---------                            ------------               ------    -----------------
edb1b23e-456a-7adb-aef8-90e-012ac34f AWS-RunPowerShellScript    Cancelled 4/16/2019 5:45:23 AM
1a2dc3fb-4567-890d-a1ad-234b5d6bc7d9 AWS-ConfigureAWSPackage    Success   4/6/2019 9:19:42 AM
12c3456c-7e90-4f12-1232-1234f5b67893 KT-Retrieve-Cloud-Type-Win Failed    4/2/2019 4:13:07 AM
fe123b45-240c-4123-a2b3-234bdd567ecf AWS-RunInspecChecks        Failed    4/1/2019 2:27:31 PM
1eb23aa4-567d-4123-12a3-4c1c2ab34561 AWS-RunPowerShellScript    Success   4/1/2019 1:05:55 PM
1c2f3bb4-ee12-4bc1-1a23-12345eea123e AWS-RunInspecChecks        Failed    4/1/2019 11:13:09 AM
```
+  Pour plus de détails sur l'API, reportez-vous [ListCommands](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les commandes demandées.**  

```
Get-SSMCommand
```
**Sortie** :  

```
CommandId          : 4b75a163-d39a-4d97-87c9-98ae52c6be35
Comment            : Apply association with id at update time: 4cc73e42-d5ae-4879-84f8-57e09c0efcd0
CompletedCount     : 1
DocumentName       : AWS-RefreshAssociation
ErrorCount         : 0
ExpiresAfter       : 2/24/2017 3:19:08 AM
InstanceIds        : {i-0cb2b964d3e14fd9f}
MaxConcurrency     : 50
MaxErrors          : 0
NotificationConfig : Amazon.SimpleSystemsManagement.Model.NotificationConfig
OutputS3BucketName :
OutputS3KeyPrefix  :
OutputS3Region     :
Parameters         : {[associationIds, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
RequestedDateTime  : 2/24/2017 3:18:08 AM
ServiceRole        :
Status             : Success
StatusDetails      : Success
TargetCount        : 1
Targets            : {}
```
**Exemple 2 : cet exemple permet d’obtenir le statut d’une commande spécifique.**  

```
Get-SSMCommand -CommandId "4b75a163-d39a-4d97-87c9-98ae52c6be35"
```
**Exemple 3 : cet exemple récupère toutes les commandes SSM invoquées après 2019-04-01T00:00:00Z **  

```
Get-SSMCommand -Filter @{Key="InvokedAfter";Value="2019-04-01T00:00:00Z"} | Select-Object CommandId, DocumentName, Status, RequestedDateTime | Sort-Object -Property RequestedDateTime -Descending
```
**Sortie** :  

```
CommandId                            DocumentName               Status    RequestedDateTime
---------                            ------------               ------    -----------------
edb1b23e-456a-7adb-aef8-90e-012ac34f AWS-RunPowerShellScript    Cancelled 4/16/2019 5:45:23 AM
1a2dc3fb-4567-890d-a1ad-234b5d6bc7d9 AWS-ConfigureAWSPackage    Success   4/6/2019 9:19:42 AM
12c3456c-7e90-4f12-1232-1234f5b67893 KT-Retrieve-Cloud-Type-Win Failed    4/2/2019 4:13:07 AM
fe123b45-240c-4123-a2b3-234bdd567ecf AWS-RunInspecChecks        Failed    4/1/2019 2:27:31 PM
1eb23aa4-567d-4123-12a3-4c1c2ab34561 AWS-RunPowerShellScript    Success   4/1/2019 1:05:55 PM
1c2f3bb4-ee12-4bc1-1a23-12345eea123e AWS-RunInspecChecks        Failed    4/1/2019 11:13:09 AM
```
+  Pour plus de détails sur l'API, reportez-vous [ListCommands](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListComplianceItems` avec une CLI
<a name="ssm_example_ssm_ListComplianceItems_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListComplianceItems`.

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier les éléments de conformité d’une instance spécifique**  
Cet exemple répertorie tous les éléments de conformité pour l’instance spécifiée.  
Commande :  

```
aws ssm list-compliance-items --resource-ids "i-1234567890abcdef0" --resource-types "ManagedInstance"
```
Sortie :  

```
{
  "ComplianceItems": [
      {
          "ComplianceType": "Association",
          "ResourceType": "ManagedInstance",
          "ResourceId": "i-1234567890abcdef0",
          "Id": "8dfe3659-4309-493a-8755-0123456789ab",
          "Title": "",
          "Status": "COMPLIANT",
          "Severity": "UNSPECIFIED",
          "ExecutionSummary": {
              "ExecutionTime": 1550408470.0
          },
          "Details": {
              "DocumentName": "AWS-GatherSoftwareInventory",
              "DocumentVersion": "1"
          }
      },
      {
          "ComplianceType": "Association",
          "ResourceType": "ManagedInstance",
          "ResourceId": "i-1234567890abcdef0",
          "Id": "e4c2ed6d-516f-41aa-aa2a-0123456789ab",
          "Title": "",
          "Status": "COMPLIANT",
          "Severity": "UNSPECIFIED",
          "ExecutionSummary": {
              "ExecutionTime": 1550508475.0
          },
          "Details": {
              "DocumentName": "AWS-UpdateSSMAgent",
              "DocumentVersion": "1"
          }
      },
              ...
  ],
  "NextToken": "--token string truncated--"
}
```
**Pour répertorier les éléments de conformité pour une instance et un ID d’association spécifiques**  
Cet exemple répertorie tous les éléments de conformité pour l’instance et l’ID d’association spécifiés.  
Commande :  

```
aws ssm list-compliance-items --resource-ids "i-1234567890abcdef0" --resource-types "ManagedInstance" --filters "Key=ComplianceType,Values=Association,Type=EQUAL" "Key=Id,Values=e4c2ed6d-516f-41aa-aa2a-0123456789ab,Type=EQUAL"
```
**Pour répertorier les éléments de conformité d’une instance après une date et heure spécifiques**  
Cet exemple répertorie tous les éléments de conformité d’une instance après la date et l’heure spécifiées.  
Commande :  

```
aws ssm list-compliance-items --resource-ids "i-1234567890abcdef0" --resource-types "ManagedInstance" --filters "Key=ExecutionTime,Values=2019-02-18T16:00:00Z,Type=GREATER_THAN"
```
+  Pour plus de détails sur l'API, reportez-vous [ListComplianceItems](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-compliance-items.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie les éléments de conformité pour l’identifiant et le type de ressource donnés, le type de conformité de filtrage étant « Association »**  

```
Get-SSMComplianceItemList -ResourceId i-1a2caf345f67d0dc2 -ResourceType ManagedInstance -Filter @{Key="ComplianceType";Values="Association"}
```
**Sortie** :  

```
ComplianceType   : Association
Details          : {[DocumentName, AWS-GatherSoftwareInventory], [DocumentVersion, 1]}
ExecutionSummary : Amazon.SimpleSystemsManagement.Model.ComplianceExecutionSummary
Id               : 123a45a1-c234-1234-1245-67891236db4e
ResourceId       : i-1a2caf345f67d0dc2
ResourceType     : ManagedInstance
Severity         : UNSPECIFIED
Status           : COMPLIANT
Title            :
```
+  Pour plus de détails sur l'API, reportez-vous [ListComplianceItems](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie les éléments de conformité pour l’identifiant et le type de ressource donnés, le type de conformité de filtrage étant « Association »**  

```
Get-SSMComplianceItemList -ResourceId i-1a2caf345f67d0dc2 -ResourceType ManagedInstance -Filter @{Key="ComplianceType";Values="Association"}
```
**Sortie** :  

```
ComplianceType   : Association
Details          : {[DocumentName, AWS-GatherSoftwareInventory], [DocumentVersion, 1]}
ExecutionSummary : Amazon.SimpleSystemsManagement.Model.ComplianceExecutionSummary
Id               : 123a45a1-c234-1234-1245-67891236db4e
ResourceId       : i-1a2caf345f67d0dc2
ResourceType     : ManagedInstance
Severity         : UNSPECIFIED
Status           : COMPLIANT
Title            :
```
+  Pour plus de détails sur l'API, reportez-vous [ListComplianceItems](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListComplianceSummaries` avec une CLI
<a name="ssm_example_ssm_ListComplianceSummaries_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListComplianceSummaries`.

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier les récapitulatifs de conformité pour tous les types de conformité**  
Cet exemple répertorie les récapitulatifs de conformité pour tous les types de conformité de votre compte.  
Commande :  

```
aws ssm list-compliance-summaries
```
Sortie :  

```
{
  "ComplianceSummaryItems": [
      {
          "ComplianceType": "Association",
          "CompliantSummary": {
              "CompliantCount": 2,
              "SeveritySummary": {
                  "CriticalCount": 0,
                  "HighCount": 0,
                  "MediumCount": 0,
                  "LowCount": 0,
                  "InformationalCount": 0,
                  "UnspecifiedCount": 2
              }
          },
          "NonCompliantSummary": {
              "NonCompliantCount": 0,
              "SeveritySummary": {
                  "CriticalCount": 0,
                  "HighCount": 0,
                  "MediumCount": 0,
                  "LowCount": 0,
                  "InformationalCount": 0,
                  "UnspecifiedCount": 0
              }
          }
      },
      {
          "ComplianceType": "Patch",
          "CompliantSummary": {
              "CompliantCount": 1,
              "SeveritySummary": {
                  "CriticalCount": 0,
                  "HighCount": 0,
                  "MediumCount": 0,
                  "LowCount": 0,
                  "InformationalCount": 0,
                  "UnspecifiedCount": 1
              }
          },
          "NonCompliantSummary": {
              "NonCompliantCount": 1,
              "SeveritySummary": {
                  "CriticalCount": 1,
                  "HighCount": 0,
                  "MediumCount": 0,
                  "LowCount": 0,
                  "InformationalCount": 0,
                  "UnspecifiedCount": 0
              }
          }
      },
              ...
  ],
  "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ=="
}
```
**Pour répertorier les récapitulatifs de conformité pour un type de conformité spécifique**  
Cet exemple répertorie les récapitulatifs de conformité pour le type de conformité du correctif.  
Commande :  

```
aws ssm list-compliance-summaries --filters "Key=ComplianceType,Values=Patch,Type=EQUAL"
```
+  Pour plus de détails sur l'API, reportez-vous [ListComplianceSummaries](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-compliance-summaries.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple renvoie un récapitulatif des ressources conformes et non conformes pour tous les types de conformité.**  

```
Get-SSMComplianceSummaryList
```
**Sortie** :  

```
ComplianceType CompliantSummary                                      NonCompliantSummary
-------------- ----------------                                      -------------------
FleetTotal     Amazon.SimpleSystemsManagement.Model.CompliantSummary Amazon.SimpleSystemsManagement.Model.NonCompliantSummary
Association    Amazon.SimpleSystemsManagement.Model.CompliantSummary Amazon.SimpleSystemsManagement.Model.NonCompliantSummary
Custom:InSpec  Amazon.SimpleSystemsManagement.Model.CompliantSummary Amazon.SimpleSystemsManagement.Model.NonCompliantSummary
Patch          Amazon.SimpleSystemsManagement.Model.CompliantSummary Amazon.SimpleSystemsManagement.Model.NonCompliantSummary
```
+  Pour plus de détails sur l'API, reportez-vous [ListComplianceSummaries](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple renvoie un récapitulatif des ressources conformes et non conformes pour tous les types de conformité.**  

```
Get-SSMComplianceSummaryList
```
**Sortie** :  

```
ComplianceType CompliantSummary                                      NonCompliantSummary
-------------- ----------------                                      -------------------
FleetTotal     Amazon.SimpleSystemsManagement.Model.CompliantSummary Amazon.SimpleSystemsManagement.Model.NonCompliantSummary
Association    Amazon.SimpleSystemsManagement.Model.CompliantSummary Amazon.SimpleSystemsManagement.Model.NonCompliantSummary
Custom:InSpec  Amazon.SimpleSystemsManagement.Model.CompliantSummary Amazon.SimpleSystemsManagement.Model.NonCompliantSummary
Patch          Amazon.SimpleSystemsManagement.Model.CompliantSummary Amazon.SimpleSystemsManagement.Model.NonCompliantSummary
```
+  Pour plus de détails sur l'API, reportez-vous [ListComplianceSummaries](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListDocumentVersions` avec une CLI
<a name="ssm_example_ssm_ListDocumentVersions_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListDocumentVersions`.

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier les versions d’un document**  
L’exemple `list-document-versions` suivant répertorie toutes les versions d’un document Systems Manager.  

```
aws ssm list-document-versions \
    --name "Example"
```
Sortie :  

```
{
    "DocumentVersions": [
        {
            "Name": "Example",
            "DocumentVersion": "1",
            "CreatedDate": 1583257938.266,
            "IsDefaultVersion": true,
            "DocumentFormat": "YAML",
            "Status": "Active"
        }
    ]
}
```
Pour plus d’informations, consultez [Envoi de commandes qui utilisent le paramètre de version de document](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command-version.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [ListDocumentVersions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-document-versions.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les versions pour un document.**  

```
Get-SSMDocumentVersionList -Name "AWS-UpdateSSMAgent"
```
**Sortie** :  

```
CreatedDate       : 6/1/2021 5:19:10 PM
DocumentFormat    : JSON
DocumentVersion   : 1
IsDefaultVersion  : True
Name              : AWS-UpdateSSMAgent
Status            : Active
```
+  Pour plus de détails sur l'API, reportez-vous [ListDocumentVersions](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les versions pour un document.**  

```
Get-SSMDocumentVersionList -Name "AWS-UpdateSSMAgent"
```
**Sortie** :  

```
CreatedDate       : 6/1/2021 5:19:10 PM
DocumentFormat    : JSON
DocumentVersion   : 1
IsDefaultVersion  : True
Name              : AWS-UpdateSSMAgent
Status            : Active
```
+  Pour plus de détails sur l'API, reportez-vous [ListDocumentVersions](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListDocuments` avec une CLI
<a name="ssm_example_ssm_ListDocuments_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListDocuments`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour répertorier les documents**  
L’exemple `list-documents` suivant répertorie les documents appartenant au compte de la demande étiquetés avec la balise personnalisée.  

```
aws ssm list-documents \
    --filters Key=Owner,Values=Self Key=tag:DocUse,Values=Testing
```
Sortie :  

```
{
    "DocumentIdentifiers": [
        {
            "Name": "Example",
            "Owner": "29884EXAMPLE",
            "PlatformTypes": [
                "Windows",
                "Linux"
            ],
            "DocumentVersion": "1",
            "DocumentType": "Automation",
            "SchemaVersion": "0.3",
            "DocumentFormat": "YAML",
            "Tags": [
                {
                    "Key": "DocUse",
                    "Value": "Testing"
                }
            ]
        }
    ]
}
```
Pour plus d’informations, consultez [Documents AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 2 : pour répertorier les documents partagés**  
L'`list-documents`exemple suivant répertorie les documents partagés, y compris les documents partagés privés qui ne sont pas détenus par AWS.  

```
aws ssm list-documents \
    --filters Key=Name,Values=sharedDocNamePrefix  Key=Owner,Values=Private
```
Sortie :  

```
{
    "DocumentIdentifiers": [
        {
            "Name": "Example",
            "Owner": "12345EXAMPLE",
            "PlatformTypes": [
                "Windows",
                "Linux"
            ],
            "DocumentVersion": "1",
            "DocumentType": "Command",
            "SchemaVersion": "0.3",
            "DocumentFormat": "YAML",
            "Tags": []
        }
    ]
}
```
Pour plus d’informations, consultez [Documents AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [ListDocuments](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-documents.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : répertorie tous les documents de configuration de votre compte.**  

```
Get-SSMDocumentList
```
**Sortie** :  

```
DocumentType    : Command
DocumentVersion : 1
Name            : AWS-ApplyPatchBaseline
Owner           : Amazon
PlatformTypes   : {Windows}
SchemaVersion   : 1.2

DocumentType    : Command
DocumentVersion : 1
Name            : AWS-ConfigureAWSPackage
Owner           : Amazon
PlatformTypes   : {Windows, Linux}
SchemaVersion   : 2.0

DocumentType    : Command
DocumentVersion : 1
Name            : AWS-ConfigureCloudWatch
Owner           : Amazon
PlatformTypes   : {Windows}
SchemaVersion   : 1.2
...
```
**Exemple 2 : cet exemple récupère tous les documents d’automatisation dont le nom correspond à ’Plateforme’**  

```
Get-SSMDocumentList -DocumentFilterList @{Key="DocumentType";Value="Automation"} | Where-Object Name -Match "Platform"
```
**Sortie** :  

```
DocumentFormat  : JSON
DocumentType    : Automation
DocumentVersion : 7
Name            : KT-Get-Platform
Owner           : 987654123456
PlatformTypes   : {Windows, Linux}
SchemaVersion   : 0.3
Tags            : {}
TargetType      :
VersionName     :
```
+  Pour plus de détails sur l'API, reportez-vous [ListDocuments](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : répertorie tous les documents de configuration de votre compte.**  

```
Get-SSMDocumentList
```
**Sortie** :  

```
DocumentType    : Command
DocumentVersion : 1
Name            : AWS-ApplyPatchBaseline
Owner           : Amazon
PlatformTypes   : {Windows}
SchemaVersion   : 1.2

DocumentType    : Command
DocumentVersion : 1
Name            : AWS-ConfigureAWSPackage
Owner           : Amazon
PlatformTypes   : {Windows, Linux}
SchemaVersion   : 2.0

DocumentType    : Command
DocumentVersion : 1
Name            : AWS-ConfigureCloudWatch
Owner           : Amazon
PlatformTypes   : {Windows}
SchemaVersion   : 1.2
...
```
**Exemple 2 : cet exemple récupère tous les documents d’automatisation dont le nom correspond à ’Plateforme’**  

```
Get-SSMDocumentList -DocumentFilterList @{Key="DocumentType";Value="Automation"} | Where-Object Name -Match "Platform"
```
**Sortie** :  

```
DocumentFormat  : JSON
DocumentType    : Automation
DocumentVersion : 7
Name            : KT-Get-Platform
Owner           : 987654123456
PlatformTypes   : {Windows, Linux}
SchemaVersion   : 0.3
Tags            : {}
TargetType      :
VersionName     :
```
+  Pour plus de détails sur l'API, reportez-vous [ListDocuments](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListInventoryEntries` avec une CLI
<a name="ssm_example_ssm_ListInventoryEntries_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListInventoryEntries`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour afficher les entrées d’un type d’inventaire spécifique pour une instance**  
L'`list-inventory-entries`exemple suivant répertorie les entrées d'inventaire pour le type:Application AWS inventory sur une instance spécifique.  

```
aws ssm list-inventory-entries \
    --instance-id "i-1234567890abcdef0" \
    --type-name "AWS:Application"
```
Sortie :  

```
{
  "TypeName": "AWS:Application",
  "InstanceId": "i-1234567890abcdef0",
  "SchemaVersion": "1.1",
  "CaptureTime": "2019-02-15T12:17:55Z",
  "Entries": [
    {
      "Architecture": "i386",
      "Name": "Amazon SSM Agent",
      "PackageId": "{88a60be2-89a1-4df8-812a-80863c2a2b68}",
      "Publisher": "Amazon Web Services",
      "Version": "2.3.274.0"
    },
    {
      "Architecture": "x86_64",
      "InstalledTime": "2018-05-03T13:42:34Z",
      "Name": "AmazonCloudWatchAgent",
      "Publisher": "",
      "Version": "1.200442.0"
    }
  ]
}
```
**Exemple 2 : pour afficher les entrées d’inventaire personnalisées affectées à une instance**  
L’exemple `list-inventory-entries` suivant répertorie une entrée d’inventaire personnalisée affectée à une instance.  

```
aws ssm list-inventory-entries \
    --instance-id "i-1234567890abcdef0" \
    --type-name "Custom:RackInfo"
```
Sortie :  

```
{
  "TypeName": "Custom:RackInfo",
  "InstanceId": "i-1234567890abcdef0",
  "SchemaVersion": "1.0",
  "CaptureTime": "2021-05-22T10:01:01Z",
  "Entries": [
    {
      "RackLocation": "Bay B/Row C/Rack D/Shelf E"
    }
  ]
}
```
+  Pour plus de détails sur l'API, reportez-vous [ListInventoryEntries](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-inventory-entries.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie toutes les entrées d’inventaire personnalisées d’une instance.**  

```
Get-SSMInventoryEntriesList -InstanceId "i-0cb2b964d3e14fd9f" -TypeName "Custom:RackInfo"
```
**Sortie** :  

```
CaptureTime   : 2016-08-22T10:01:01Z
Entries       : {Amazon.Runtime.Internal.Util.AlwaysSendDictionary`2[System.String,System.String]}
InstanceId    : i-0cb2b964d3e14fd9f
NextToken     :
SchemaVersion : 1.0
TypeName      : Custom:RackInfo
```
**Exemple 2 : cet exemple répertorie les détails.**  

```
(Get-SSMInventoryEntriesList -InstanceId "i-0cb2b964d3e14fd9f" -TypeName "Custom:RackInfo").Entries
```
**Sortie** :  

```
Key          Value
---          -----
RackLocation Bay B/Row C/Rack D/Shelf E
```
+  Pour plus de détails sur l'API, reportez-vous [ListInventoryEntries](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie toutes les entrées d’inventaire personnalisées d’une instance.**  

```
Get-SSMInventoryEntriesList -InstanceId "i-0cb2b964d3e14fd9f" -TypeName "Custom:RackInfo"
```
**Sortie** :  

```
CaptureTime   : 2016-08-22T10:01:01Z
Entries       : {Amazon.Runtime.Internal.Util.AlwaysSendDictionary`2[System.String,System.String]}
InstanceId    : i-0cb2b964d3e14fd9f
NextToken     :
SchemaVersion : 1.0
TypeName      : Custom:RackInfo
```
**Exemple 2 : cet exemple répertorie les détails.**  

```
(Get-SSMInventoryEntriesList -InstanceId "i-0cb2b964d3e14fd9f" -TypeName "Custom:RackInfo").Entries
```
**Sortie** :  

```
Key          Value
---          -----
RackLocation Bay B/Row C/Rack D/Shelf E
```
+  Pour plus de détails sur l'API, reportez-vous [ListInventoryEntries](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListResourceComplianceSummaries` avec une CLI
<a name="ssm_example_ssm_ListResourceComplianceSummaries_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListResourceComplianceSummaries`.

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier les récapitulatifs de conformité du niveau des ressources**  
Cet exemple répertorie les récapitulatifs de conformité du niveau des ressources.  
Commande :  

```
aws ssm list-resource-compliance-summaries
```
Sortie :  

```
{
  "ResourceComplianceSummaryItems": [
      {
          "ComplianceType": "Association",
          "ResourceType": "ManagedInstance",
          "ResourceId": "i-1234567890abcdef0",
          "Status": "COMPLIANT",
          "OverallSeverity": "UNSPECIFIED",
          "ExecutionSummary": {
              "ExecutionTime": 1550509273.0
          },
          "CompliantSummary": {
              "CompliantCount": 2,
              "SeveritySummary": {
                  "CriticalCount": 0,
                  "HighCount": 0,
                  "MediumCount": 0,
                  "LowCount": 0,
                  "InformationalCount": 0,
                  "UnspecifiedCount": 2
              }
          },
          "NonCompliantSummary": {
              "NonCompliantCount": 0,
              "SeveritySummary": {
                  "CriticalCount": 0,
                  "HighCount": 0,
                  "MediumCount": 0,
                  "LowCount": 0,
                  "InformationalCount": 0,
                  "UnspecifiedCount": 0
              }
          }
      },
      {
          "ComplianceType": "Patch",
          "ResourceType": "ManagedInstance",
          "ResourceId": "i-9876543210abcdef0",
          "Status": "COMPLIANT",
          "OverallSeverity": "UNSPECIFIED",
          "ExecutionSummary": {
              "ExecutionTime": 1550248550.0,
              "ExecutionId": "7abb6378-a4a5-4f10-8312-0123456789ab",
              "ExecutionType": "Command"
          },
          "CompliantSummary": {
              "CompliantCount": 397,
              "SeveritySummary": {
                  "CriticalCount": 0,
                  "HighCount": 0,
                  "MediumCount": 0,
                  "LowCount": 0,
                  "InformationalCount": 0,
                  "UnspecifiedCount": 397
              }
          },
          "NonCompliantSummary": {
              "NonCompliantCount": 0,
              "SeveritySummary": {
                  "CriticalCount": 0,
                  "HighCount": 0,
                  "MediumCount": 0,
                  "LowCount": 0,
                  "InformationalCount": 0,
                  "UnspecifiedCount": 0
              }
          }
      }
  ],
  "NextToken": "--token string truncated--"
}
```
**Pour répertorier les récapitulatifs de conformité du niveau des ressources pour un type de conformité spécifique**  
Cet exemple répertorie les récapitulatifs de conformité du niveau des ressources pour le type de conformité du correctif.  
Commande :  

```
aws ssm list-resource-compliance-summaries --filters "Key=ComplianceType,Values=Patch,Type=EQUAL"
```
+  Pour plus de détails sur l'API, reportez-vous [ListResourceComplianceSummaries](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-resource-compliance-summaries.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple permet d’obtenir un récapitulatif du niveau des ressources. Le récapitulatif comprend des informations sur les statuts de conformité et de non-conformité ainsi que des comptes détaillés de la sévérité des éléments de conformité pour les produits qui correspondent à « Windows10 ». Comme la valeur MaxResult par défaut est 100 si le paramètre n'est pas spécifié et que cette valeur n'est pas valide, le MaxResult paramètre est ajouté et la valeur est définie sur 50.**  

```
$FilterValues = @{
		"Key"="Product"
        "Type"="EQUAL"
        "Values"="Windows10"
}
        Get-SSMResourceComplianceSummaryList -Filter $FilterValues -MaxResult 50
```
+  Pour plus de détails sur l'API, reportez-vous [ListResourceComplianceSummaries](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple permet d’obtenir un récapitulatif du niveau des ressources. Le récapitulatif comprend des informations sur les statuts de conformité et de non-conformité ainsi que des comptes détaillés de la sévérité des éléments de conformité pour les produits qui correspondent à « Windows10 ». Comme la valeur MaxResult par défaut est 100 si le paramètre n'est pas spécifié et que cette valeur n'est pas valide, le MaxResult paramètre est ajouté et la valeur est définie sur 50.**  

```
$FilterValues = @{
		"Key"="Product"
        "Type"="EQUAL"
        "Values"="Windows10"
}
        Get-SSMResourceComplianceSummaryList -Filter $FilterValues -MaxResult 50
```
+  Pour plus de détails sur l'API, reportez-vous [ListResourceComplianceSummaries](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ListTagsForResource` avec une CLI
<a name="ssm_example_ssm_ListTagsForResource_section"></a>

Les exemples de code suivants illustrent comment utiliser `ListTagsForResource`.

------
#### [ CLI ]

**AWS CLI**  
**Pour répertorier les balises appliquées à un référentiel de correctifs**  
L’exemple `list-tags-for-resource` suivant répertorie les balises appliquées à un référentiel de correctifs.  

```
aws ssm list-tags-for-resource \
    --resource-type "PatchBaseline" \
    --resource-id "pb-0123456789abcdef0"
```
Sortie :  

```
{
    "TagList": [
        {
            "Key": "Environment",
            "Value": "Production"
        },
        {
            "Key": "Region",
            "Value": "EMEA"
        }
    ]
}
```
Pour plus d'informations, consultez la section [AWS Ressources de balisage](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) dans le manuel de *référence AWS général*.  
+  Pour plus de détails sur l'API, reportez-vous [ListTagsForResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/list-tags-for-resource.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple répertorie les balises d’une fenêtre de maintenance.**  

```
Get-SSMResourceTag -ResourceId "mw-03eb9db42890fb82d" -ResourceType "MaintenanceWindow"
```
**Sortie** :  

```
Key   Value
---   -----
Stack Production
```
+  Pour plus de détails sur l'API, reportez-vous [ListTagsForResource](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple répertorie les balises d’une fenêtre de maintenance.**  

```
Get-SSMResourceTag -ResourceId "mw-03eb9db42890fb82d" -ResourceType "MaintenanceWindow"
```
**Sortie** :  

```
Key   Value
---   -----
Stack Production
```
+  Pour plus de détails sur l'API, reportez-vous [ListTagsForResource](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `ModifyDocumentPermission` avec une CLI
<a name="ssm_example_ssm_ModifyDocumentPermission_section"></a>

Les exemples de code suivants illustrent comment utiliser `ModifyDocumentPermission`.

------
#### [ CLI ]

**AWS CLI**  
**Pour modifier les autorisations sur les documents**  
L’exemple `modify-document-permission` suivant partage publiquement un document Systems Manager.  

```
aws ssm modify-document-permission \
    --name "Example" \
    --permission-type "Share" \
    --account-ids-to-add "All"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Partager un document Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-how-to-share.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [ModifyDocumentPermission](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/modify-document-permission.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple ajoute des autorisations de « partage » à tous les comptes pour un document. Il n’y a pas de sortie si la commande réussit.**  

```
Edit-SSMDocumentPermission -Name "RunShellScript" -PermissionType "Share" -AccountIdsToAdd all
```
**Exemple 2 : cet exemple ajoute des autorisations de « partage » à un compte spécifique pour un document. Il n’y a pas de sortie si la commande réussit.**  

```
Edit-SSMDocumentPermission -Name "RunShellScriptNew" -PermissionType "Share" -AccountIdsToAdd "123456789012"
```
+  Pour plus de détails sur l'API, reportez-vous [ModifyDocumentPermission](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple ajoute des autorisations de « partage » à tous les comptes pour un document. Il n’y a pas de sortie si la commande réussit.**  

```
Edit-SSMDocumentPermission -Name "RunShellScript" -PermissionType "Share" -AccountIdsToAdd all
```
**Exemple 2 : cet exemple ajoute des autorisations de « partage » à un compte spécifique pour un document. Il n’y a pas de sortie si la commande réussit.**  

```
Edit-SSMDocumentPermission -Name "RunShellScriptNew" -PermissionType "Share" -AccountIdsToAdd "123456789012"
```
+  Pour plus de détails sur l'API, reportez-vous [ModifyDocumentPermission](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `PutComplianceItems` avec une CLI
<a name="ssm_example_ssm_PutComplianceItems_section"></a>

Les exemples de code suivants illustrent comment utiliser `PutComplianceItems`.

------
#### [ CLI ]

**AWS CLI**  
**Pour enregistrer un type de conformité et des détails de conformité dans une instance désignée**  
Cet exemple enregistre le type de conformité `Custom:AVCheck` dans l’instance gérée spécifiée. Il n’y a pas de sortie si la commande réussit.  
Commande :  

```
aws ssm put-compliance-items --resource-id "i-1234567890abcdef0" --resource-type "ManagedInstance" --compliance-type "Custom:AVCheck" --execution-summary "ExecutionTime=2019-02-18T16:00:00Z" --items "Id=Version2.0,Title=ScanHost,Severity=CRITICAL,Status=COMPLIANT"
```
+  Pour plus de détails sur l'API, reportez-vous [PutComplianceItems](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/put-compliance-items.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple écrit un élément de conformité personnalisé pour l’instance gérée donnée**  

```
$item = [Amazon.SimpleSystemsManagement.Model.ComplianceItemEntry]::new()
$item.Id = "07Jun2019-3"
$item.Severity="LOW"
$item.Status="COMPLIANT"
$item.Title="Fin-test-1 - custom"
Write-SSMComplianceItem -ResourceId mi-012dcb3ecea45b678 -ComplianceType Custom:VSSCompliant2 -ResourceType ManagedInstance -Item $item -ExecutionSummary_ExecutionTime "07-Jun-2019"
```
+  Pour plus de détails sur l'API, reportez-vous [PutComplianceItems](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple écrit un élément de conformité personnalisé pour l’instance gérée donnée**  

```
$item = [Amazon.SimpleSystemsManagement.Model.ComplianceItemEntry]::new()
$item.Id = "07Jun2019-3"
$item.Severity="LOW"
$item.Status="COMPLIANT"
$item.Title="Fin-test-1 - custom"
Write-SSMComplianceItem -ResourceId mi-012dcb3ecea45b678 -ComplianceType Custom:VSSCompliant2 -ResourceType ManagedInstance -Item $item -ExecutionSummary_ExecutionTime "07-Jun-2019"
```
+  Pour plus de détails sur l'API, reportez-vous [PutComplianceItems](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `PutInventory` avec une CLI
<a name="ssm_example_ssm_PutInventory_section"></a>

Les exemples de code suivants illustrent comment utiliser `PutInventory`.

------
#### [ CLI ]

**AWS CLI**  
**Pour attribuer des métadonnées client à une instance**  
Cet exemple attribue les informations sur les emplacements des racks à une instance. Il n’y a pas de sortie si la commande réussit.  
Commande (Linux) :  

```
aws ssm put-inventory --instance-id "i-016648b75dd622dab" --items '[{"TypeName": "Custom:RackInfo","SchemaVersion": "1.0","CaptureTime": "2019-01-22T10:01:01Z","Content":[{"RackLocation": "Bay B/Row C/Rack D/Shelf E"}]}]'
```
Commande (Windows) :  

```
aws ssm put-inventory --instance-id "i-016648b75dd622dab" --items "TypeName=Custom:RackInfo,SchemaVersion=1.0,CaptureTime=2019-01-22T10:01:01Z,Content=[{RackLocation='Bay B/Row C/Rack D/Shelf F'}]"
```
+  Pour plus de détails sur l'API, reportez-vous [PutInventory](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/put-inventory.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple attribue des informations sur l’emplacement du rack à une instance. Il n’y a pas de sortie si la commande réussit.**  

```
$data = New-Object "System.Collections.Generic.Dictionary[System.String,System.String]"
$data.Add("RackLocation", "Bay B/Row C/Rack D/Shelf F")

$items = New-Object "System.Collections.Generic.List[System.Collections.Generic.Dictionary[System.String, System.String]]"
$items.Add($data)

$customInventoryItem = New-Object Amazon.SimpleSystemsManagement.Model.InventoryItem
$customInventoryItem.CaptureTime = "2016-08-22T10:01:01Z"
$customInventoryItem.Content = $items
$customInventoryItem.TypeName = "Custom:TestRackInfo2"
$customInventoryItem.SchemaVersion = "1.0"

$inventoryItems = @($customInventoryItem)

Write-SSMInventory -InstanceId "i-0cb2b964d3e14fd9f" -Item $inventoryItems
```
+  Pour plus de détails sur l'API, reportez-vous [PutInventory](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple attribue des informations sur l’emplacement du rack à une instance. Il n’y a pas de sortie si la commande réussit.**  

```
$data = New-Object "System.Collections.Generic.Dictionary[System.String,System.String]"
$data.Add("RackLocation", "Bay B/Row C/Rack D/Shelf F")

$items = New-Object "System.Collections.Generic.List[System.Collections.Generic.Dictionary[System.String, System.String]]"
$items.Add($data)

$customInventoryItem = New-Object Amazon.SimpleSystemsManagement.Model.InventoryItem
$customInventoryItem.CaptureTime = "2016-08-22T10:01:01Z"
$customInventoryItem.Content = $items
$customInventoryItem.TypeName = "Custom:TestRackInfo2"
$customInventoryItem.SchemaVersion = "1.0"

$inventoryItems = @($customInventoryItem)

Write-SSMInventory -InstanceId "i-0cb2b964d3e14fd9f" -Item $inventoryItems
```
+  Pour plus de détails sur l'API, reportez-vous [PutInventory](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `PutParameter` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_PutParameter_section"></a>

Les exemples de code suivants illustrent comment utiliser `PutParameter`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour modifier la valeur d’un paramètre**  
L’exemple `put-parameter` suivant modifie la valeur du paramètre spécifié.  

```
aws ssm put-parameter \
    --name "MyStringParameter" \
    --type "String" \
    --value "Vici" \
    --overwrite
```
Sortie :  

```
{
    "Version": 2,
    "Tier": "Standard"
}
```
Pour plus d'informations, reportez-vous aux [sections Création d'un paramètre Systems Manager (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html), [Gestion des niveaux de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html) et [Utilisation des politiques de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
**Exemple 2 : pour créer un paramètre avancé**  
L’exemple `put-parameter` suivant crée un paramètre avancé.  

```
aws ssm put-parameter \
    --name "MyAdvancedParameter" \
    --description "This is an advanced parameter" \
    --value "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat [truncated]" \
    --type "String" \
    --tier Advanced
```
Sortie :  

```
{
    "Version": 1,
    "Tier": "Advanced"
}
```
Pour plus d'informations, reportez-vous aux [sections Création d'un paramètre Systems Manager (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html), [Gestion des niveaux de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html) et [Utilisation des politiques de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
**Exemple 3 : pour convertir un paramètre standard en paramètre avancé**  
L’exemple `put-parameter` suivant convertit un paramètre standard existant en un paramètre avancé.  

```
aws ssm put-parameter \
    --name "MyConvertedParameter" \
    --value "abc123" \
    --type "String" \
    --tier Advanced \
    --overwrite
```
Sortie :  

```
{
    "Version": 2,
    "Tier": "Advanced"
}
```
Pour plus d'informations, reportez-vous aux [sections Création d'un paramètre Systems Manager (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html), [Gestion des niveaux de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html) et [Utilisation des politiques de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
**Exemple 4 : pour créer un paramètre avec une politique attachée**  
L’exemple `put-parameter` suivant crée un paramètre avancé auquel est attachée une politique de paramètre.  

```
aws ssm put-parameter \
    --name "/Finance/Payroll/q2accesskey" \
    --value "P@sSwW)rd" \
    --type "SecureString" \
    --tier Advanced \
    --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-06-30T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"
```
Sortie :  

```
{
    "Version": 1,
    "Tier": "Advanced"
}
```
Pour plus d'informations, reportez-vous aux [sections Création d'un paramètre Systems Manager (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html), [Gestion des niveaux de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html) et [Utilisation des politiques de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
**Exemple 5 : pour ajouter une politique à un paramètre existant**  
L’exemple `put-parameter` suivant attache une politique à un paramètre avancé existant.  

```
aws ssm put-parameter \
    --name "/Finance/Payroll/q2accesskey" \
    --value "N3wP@sSwW)rd" \
    --type "SecureString" \
    --tier Advanced \
    --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-06-30T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"
    --overwrite
```
Sortie :  

```
{
    "Version": 2,
    "Tier": "Advanced"
}
```
Pour plus d'informations, reportez-vous aux [sections Création d'un paramètre Systems Manager (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html), [Gestion des niveaux de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html) et [Utilisation des politiques de paramètres](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [PutParameter](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/put-parameter.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.ssm.SsmClient;
import software.amazon.awssdk.services.ssm.model.ParameterType;
import software.amazon.awssdk.services.ssm.model.PutParameterRequest;
import software.amazon.awssdk.services.ssm.model.SsmException;

public class PutParameter {

    public static void main(String[] args) {
        final String usage = """

                Usage:
                    <paraName>

                Where:
                    paraName - The name of the parameter.
                    paraValue - The value of the parameter.
                """;

        if (args.length != 2) {
            System.out.println(usage);
            System.exit(1);
        }

        String paraName = args[0];
        String paraValue = args[1];
        Region region = Region.US_EAST_1;
        SsmClient ssmClient = SsmClient.builder()
                .region(region)
                .build();

        putParaValue(ssmClient, paraName, paraValue);
        ssmClient.close();
    }

    public static void putParaValue(SsmClient ssmClient, String paraName, String value) {
        try {
            PutParameterRequest parameterRequest = PutParameterRequest.builder()
                    .name(paraName)
                    .type(ParameterType.STRING)
                    .value(value)
                    .build();

            ssmClient.putParameter(parameterRequest);
            System.out.println("The parameter was successfully added.");

        } catch (SsmException e) {
            System.err.println(e.getMessage());
            System.exit(1);
        }
    }
}
```
+  Pour plus de détails sur l'API, voir [PutParameter](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/PutParameter)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple crée un paramètre. Il n’y a pas de sortie si la commande réussit.**  

```
Write-SSMParameter -Name "Welcome" -Type "String" -Value "helloWorld"
```
**Exemple 2 : cet exemple modifie un paramètre. Il n’y a pas de sortie si la commande réussit.**  

```
Write-SSMParameter -Name "Welcome" -Type "String" -Value "Good day, Sunshine!" -Overwrite $true
```
+  Pour plus de détails sur l'API, reportez-vous [PutParameter](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple crée un paramètre. Il n’y a pas de sortie si la commande réussit.**  

```
Write-SSMParameter -Name "Welcome" -Type "String" -Value "helloWorld"
```
**Exemple 2 : cet exemple modifie un paramètre. Il n’y a pas de sortie si la commande réussit.**  

```
Write-SSMParameter -Name "Welcome" -Type "String" -Value "Good day, Sunshine!" -Overwrite $true
```
+  Pour plus de détails sur l'API, reportez-vous [PutParameter](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Rust ]

**SDK pour Rust**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/ssm#code-examples). 

```
async fn make_parameter(
    client: &Client,
    name: &str,
    value: &str,
    description: &str,
) -> Result<(), Error> {
    let resp = client
        .put_parameter()
        .overwrite(true)
        .r#type(ParameterType::String)
        .name(name)
        .value(value)
        .description(description)
        .send()
        .await?;

    println!("Success! Parameter now has version: {}", resp.version());

    Ok(())
}
```
+  Pour plus de détails sur l'API, voir [PutParameter](https://docs.rs/aws-sdk-ssm/latest/aws_sdk_ssm/client/struct.Client.html#method.put_parameter)la section de *référence de l'API AWS SDK for Rust*. 

------

# Utilisation de `RegisterDefaultPatchBaseline` avec une CLI
<a name="ssm_example_ssm_RegisterDefaultPatchBaseline_section"></a>

Les exemples de code suivants illustrent comment utiliser `RegisterDefaultPatchBaseline`.

------
#### [ CLI ]

**AWS CLI**  
**Pour définir le référentiel de correctifs par défaut**  
L’exemple `register-default-patch-baseline` suivant enregistre le référentiel de correctifs personnalisé spécifié en tant que référentiel de correctifs par défaut pour le type de système d’exploitation qu’il prend en charge.  

```
aws ssm register-default-patch-baseline \
    --baseline-id "pb-abc123cf9bEXAMPLE"
```
Sortie :  

```
{
    "BaselineId":"pb-abc123cf9bEXAMPLE"
}
```
L'`register-default-patch-baseline`exemple suivant enregistre la ligne de base de correctifs par défaut fournie par AWS CentOS comme ligne de base de correctifs par défaut.  

```
aws ssm register-default-patch-baseline \
    --baseline-id "arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed"
```
Sortie :  

```
{
    "BaselineId":"pb-abc123cf9bEXAMPLE"
}
```
Pour plus d’informations, consultez [À propos des référentiels de correctifs prédéfinis et personnalisés](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-baselines.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [RegisterDefaultPatchBaseline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/register-default-patch-baseline.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple enregistre un référentiel de correctifs en tant que référence de correctifs par défaut.**  

```
Register-SSMDefaultPatchBaseline -BaselineId "pb-03da896ca3b68b639"
```
**Sortie** :  

```
pb-03da896ca3b68b639
```
+  Pour plus de détails sur l'API, reportez-vous [RegisterDefaultPatchBaseline](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple enregistre un référentiel de correctifs en tant que référence de correctifs par défaut.**  

```
Register-SSMDefaultPatchBaseline -BaselineId "pb-03da896ca3b68b639"
```
**Sortie** :  

```
pb-03da896ca3b68b639
```
+  Pour plus de détails sur l'API, reportez-vous [RegisterDefaultPatchBaseline](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `RegisterPatchBaselineForPatchGroup` avec une CLI
<a name="ssm_example_ssm_RegisterPatchBaselineForPatchGroup_section"></a>

Les exemples de code suivants illustrent comment utiliser `RegisterPatchBaselineForPatchGroup`.

------
#### [ CLI ]

**AWS CLI**  
**Pour enregistrer un référentiel de correctifs pour un groupe de correctifs**  
L’exemple `register-patch-baseline-for-patch-group` suivant permet d’enregistrer un référentiel de correctifs pour un groupe de correctifs.  

```
aws ssm register-patch-baseline-for-patch-group \
    --baseline-id "pb-045f10b4f382baeda" \
    --patch-group "Production"
```
Sortie :  

```
{
    "BaselineId": "pb-045f10b4f382baeda",
    "PatchGroup": "Production"
}
```
Pour plus d'informations, consultez les sections Créer un groupe de correctifs < https://docs.aws.amazon.com/systems-manager/ latest/userguide/sysman - patch-group-tagging .html>\$1\$1 et [Ajouter un groupe de correctifs à une ligne de base de correctifs](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-patch-group-patchbaseline.html) dans le guide de l'utilisateur de *AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [RegisterPatchBaselineForPatchGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/register-patch-baseline-for-patch-group.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple enregistre un référentiel de correctifs pour un groupe de correctifs.**  

```
Register-SSMPatchBaselineForPatchGroup -BaselineId "pb-03da896ca3b68b639" -PatchGroup "Production"
```
**Sortie** :  

```
BaselineId           PatchGroup
----------           ----------
pb-03da896ca3b68b639 Production
```
+  Pour plus de détails sur l'API, reportez-vous [RegisterPatchBaselineForPatchGroup](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple enregistre un référentiel de correctifs pour un groupe de correctifs.**  

```
Register-SSMPatchBaselineForPatchGroup -BaselineId "pb-03da896ca3b68b639" -PatchGroup "Production"
```
**Sortie** :  

```
BaselineId           PatchGroup
----------           ----------
pb-03da896ca3b68b639 Production
```
+  Pour plus de détails sur l'API, reportez-vous [RegisterPatchBaselineForPatchGroup](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `RegisterTargetWithMaintenanceWindow` avec une CLI
<a name="ssm_example_ssm_RegisterTargetWithMaintenanceWindow_section"></a>

Les exemples de code suivants illustrent comment utiliser `RegisterTargetWithMaintenanceWindow`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour enregistrer une cible unique avec une fenêtre de maintenance**  
L’exemple `register-target-with-maintenance-window` suivant enregistre une instance avec une fenêtre de maintenance.  

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-ab12cd34ef56gh78" \
    --target "Key=InstanceIds,Values=i-0000293ffd8c57862" \
    --owner-information "Single instance" \
    --resource-type "INSTANCE"
```
Sortie :  

```
{
    "WindowTargetId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2"
}
```
**Exemple 2 : pour enregistrer plusieurs cibles avec une fenêtre de maintenance à l'aide d'une instance IDs**  
L'`register-target-with-maintenance-window`exemple suivant enregistre deux instances avec une fenêtre de maintenance en spécifiant leur instance IDs.  

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-ab12cd34ef56gh78" \
    --target "Key=InstanceIds,Values=i-0000293ffd8c57862,i-0cb2b964d3e14fd9f" \
    --owner-information "Two instances in a list" \
    --resource-type "INSTANCE"
```
Sortie :  

```
{
    "WindowTargetId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2"
}
```
**Exemple 3 : pour enregistrer des cibles avec une fenêtre de maintenance à l’aide des balises de ressources**  
L’exemple `register-target-with-maintenance-window` suivant enregistre des instances avec une fenêtre de maintenance en spécifiant les balises de ressources qui ont été appliquées aux instances.  

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-06cf17cbefcb4bf4f" \
    --targets "Key=tag:Environment,Values=Prod" "Key=Role,Values=Web" \
    --owner-information "Production Web Servers" \
    --resource-type "INSTANCE"
```
Sortie :  

```
{
    "WindowTargetId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2"
}
```
**Exemple 4 : pour enregistrer des cibles à l’aide d’un groupe de clés de balises**  
L’exemple `register-target-with-maintenance-window` suivant enregistre des instances auxquelles une ou plusieurs clés de balises ont été attribuées, quelle que soit la valeur de leur clé.  

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --resource-type "INSTANCE" \
    --target "Key=tag-key,Values=Name,Instance-Type,CostCenter"
```
Sortie :  

```
{
    "WindowTargetId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2"
}
```
**Exemple 5 : pour enregistrer des cibles à l’aide d’un nom de groupe de ressources**  
L’exemple `register-target-with-maintenance-window` suivant permet d’enregistrer un groupe de ressources spécifié, quel que soit le type de ressources qu’il contient.  

```
aws ssm register-target-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --resource-type "RESOURCE_GROUP" \
    --target "Key=resource-groups:Name,Values=MyResourceGroup"
```
Sortie :  

```
{
    "WindowTargetId":"1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d-1a2"
}
```
Pour plus d'informations, consultez la section [Enregistrer une instance cible avec la fenêtre de maintenance (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [RegisterTargetWithMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/register-target-with-maintenance-window.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple enregistre une instance avec une fenêtre de maintenance.**  

```
$option1 = @{Key="InstanceIds";Values=@("i-0000293ffd8c57862")}
Register-SSMTargetWithMaintenanceWindow -WindowId "mw-06cf17cbefcb4bf4f" -Target $option1 -OwnerInformation "Single instance" -ResourceType "INSTANCE"
```
**Sortie** :  

```
d8e47760-23ed-46a5-9f28-927337725398
```
**Exemple 2 : cet exemple enregistre plusieurs instances avec une fenêtre de maintenance.**  

```
$option1 = @{Key="InstanceIds";Values=@("i-0000293ffd8c57862","i-0cb2b964d3e14fd9f")}
Register-SSMTargetWithMaintenanceWindow -WindowId "mw-06cf17cbefcb4bf4f" -Target $option1 -OwnerInformation "Single instance" -ResourceType "INSTANCE"
```
**Sortie** :  

```
6ab5c208-9fc4-4697-84b7-b02a6cc25f7d
```
**Exemple 3 : cet exemple enregistre une instance avec une fenêtre de maintenance à l’aide des balises EC2.**  

```
$option1 = @{Key="tag:Environment";Values=@("Production")}
Register-SSMTargetWithMaintenanceWindow -WindowId "mw-06cf17cbefcb4bf4f" -Target $option1 -OwnerInformation "Production Web Servers" -ResourceType "INSTANCE"
```
**Sortie** :  

```
2994977e-aefb-4a71-beac-df620352f184
```
+  Pour plus de détails sur l'API, reportez-vous [RegisterTargetWithMaintenanceWindow](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple enregistre une instance avec une fenêtre de maintenance.**  

```
$option1 = @{Key="InstanceIds";Values=@("i-0000293ffd8c57862")}
Register-SSMTargetWithMaintenanceWindow -WindowId "mw-06cf17cbefcb4bf4f" -Target $option1 -OwnerInformation "Single instance" -ResourceType "INSTANCE"
```
**Sortie** :  

```
d8e47760-23ed-46a5-9f28-927337725398
```
**Exemple 2 : cet exemple enregistre plusieurs instances avec une fenêtre de maintenance.**  

```
$option1 = @{Key="InstanceIds";Values=@("i-0000293ffd8c57862","i-0cb2b964d3e14fd9f")}
Register-SSMTargetWithMaintenanceWindow -WindowId "mw-06cf17cbefcb4bf4f" -Target $option1 -OwnerInformation "Single instance" -ResourceType "INSTANCE"
```
**Sortie** :  

```
6ab5c208-9fc4-4697-84b7-b02a6cc25f7d
```
**Exemple 3 : cet exemple enregistre une instance avec une fenêtre de maintenance à l’aide des balises EC2.**  

```
$option1 = @{Key="tag:Environment";Values=@("Production")}
Register-SSMTargetWithMaintenanceWindow -WindowId "mw-06cf17cbefcb4bf4f" -Target $option1 -OwnerInformation "Production Web Servers" -ResourceType "INSTANCE"
```
**Sortie** :  

```
2994977e-aefb-4a71-beac-df620352f184
```
+  Pour plus de détails sur l'API, reportez-vous [RegisterTargetWithMaintenanceWindow](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `RegisterTaskWithMaintenanceWindow` avec une CLI
<a name="ssm_example_ssm_RegisterTaskWithMaintenanceWindow_section"></a>

Les exemples de code suivants illustrent comment utiliser `RegisterTaskWithMaintenanceWindow`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour enregistrer une tâche d’automatisation avec une fenêtre de maintenance**  
L’exemple `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)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
**Exemple 2 : pour enregistrer une tâche Lambda avec une fenêtre de maintenance**  
L’exemple `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)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
**Exemple 3 : pour enregistrer une tâche Run Command avec une fenêtre de maintenance**  
L’exemple `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)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
**Exemple 4 : pour enregistrer une tâche Step Functions avec une fenêtre de maintenance**  
L’exemple `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)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
**Exemple 5 : pour enregistrer une tâche à l’aide de l’ID cible d’une fenêtre de maintenance**  
L’exemple `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)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [RegisterTaskWithMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/register-task-with-maintenance-window.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ 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"
```
+  Pour plus de détails sur l'API, reportez-vous [RegisterTaskWithMaintenanceWindow](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**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"
```
+  Pour plus de détails sur l'API, reportez-vous [RegisterTaskWithMaintenanceWindow](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `RemoveTagsFromResource` avec une CLI
<a name="ssm_example_ssm_RemoveTagsFromResource_section"></a>

Les exemples de code suivants illustrent comment utiliser `RemoveTagsFromResource`.

------
#### [ CLI ]

**AWS CLI**  
**Pour supprimer une balise d’un référentiel de correctifs**  
L’exemple `remove-tags-from-resource` suivant supprime des correctifs d’un référentiel de correctifs.  

```
aws ssm remove-tags-from-resource \
    --resource-type "PatchBaseline" \
    --resource-id "pb-0123456789abcdef0" \
    --tag-keys "Region"
```
Cette commande ne produit aucune sortie.  
Pour plus d'informations, consultez la section [AWS Ressources de balisage](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) dans le manuel de *référence AWS général*.  
+  Pour plus de détails sur l'API, reportez-vous [RemoveTagsFromResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/remove-tags-from-resource.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple supprime une balise d’une fenêtre de maintenance. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMResourceTag -ResourceId "mw-03eb9db42890fb82d" -ResourceType "MaintenanceWindow" -TagKey "Production"
```
+  Pour plus de détails sur l'API, reportez-vous [RemoveTagsFromResource](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple supprime une balise d’une fenêtre de maintenance. Il n’y a pas de sortie si la commande réussit.**  

```
Remove-SSMResourceTag -ResourceId "mw-03eb9db42890fb82d" -ResourceType "MaintenanceWindow" -TagKey "Production"
```
+  Pour plus de détails sur l'API, reportez-vous [RemoveTagsFromResource](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `SendCommand` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_SendCommand_section"></a>

Les exemples de code suivants illustrent comment utiliser `SendCommand`.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant : 
+  [Principes de base](ssm_example_ssm_Scenario_section.md) 

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : exécution d’une commande sur une ou plusieurs instances distantes**  
L’exemple `send-command` suivant exécute une commande `echo` sur une instance cible.  

```
aws ssm send-command \
    --document-name "AWS-RunShellScript" \
    --parameters 'commands=["echo HelloWorld"]' \
    --targets "Key=instanceids,Values=i-1234567890abcdef0" \
    --comment "echo HelloWorld"
```
Sortie :  

```
{
    "Command": {
        "CommandId": "92853adf-ba41-4cd6-9a88-142d1EXAMPLE",
        "DocumentName": "AWS-RunShellScript",
        "DocumentVersion": "",
        "Comment": "echo HelloWorld",
        "ExpiresAfter": 1550181014.717,
        "Parameters": {
            "commands": [
                "echo HelloWorld"
            ]
        },
        "InstanceIds": [
            "i-0f00f008a2dcbefe2"
        ],
        "Targets": [],
        "RequestedDateTime": 1550173814.717,
        "Status": "Pending",
        "StatusDetails": "Pending",
        "OutputS3BucketName": "",
        "OutputS3KeyPrefix": "",
        "MaxConcurrency": "50",
        "MaxErrors": "0",
        "TargetCount": 1,
        "CompletedCount": 0,
        "ErrorCount": 0,
        "DeliveryTimedOutCount": 0,
        "ServiceRole": "",
        "NotificationConfig": {
            "NotificationArn": "",
            "NotificationEvents": [],
            "NotificationType": ""
        },
        "CloudWatchOutputConfig": {
            "CloudWatchLogGroupName": "",
            "CloudWatchOutputEnabled": false
        }
    }
}
```
Pour plus d’informations, consultez [Exécution de commandes à l’aide de Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 2 : pour obtenir des informations IP sur une instance**  
L’exemple `send-command` suivant récupère les informations sur l’IP d’une instance.  

```
aws ssm send-command \
    --instance-ids "i-1234567890abcdef0" \
    --document-name "AWS-RunShellScript" \
    --comment "IP config" \
    --parameters "commands=ifconfig"
```
Voir l’exemple 1 pour un exemple de sortie.  
Pour plus d’informations, consultez [Exécution de commandes à l’aide de Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 3 : pour exécuter une commande sur des instances avec des balises spécifiques**  
L’exemple `send-command` suivant exécute une commande sur les instances qui ont la clé de balise « ENV » et la valeur « Dev ».  

```
aws ssm send-command \
    --targets "Key=tag:ENV,Values=Dev" \
    --document-name "AWS-RunShellScript" \
    --parameters "commands=ifconfig"
```
Voir l’exemple 1 pour un exemple de sortie.  
Pour plus d’informations, consultez [Exécution de commandes à l’aide de Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 4 : pour exécuter une commande qui envoie des notifications SNS**  
L’exemple `send-command` suivant exécute une commande qui envoie des notifications SNS pour tous les événements de notification et le type de notification `Command`.  

```
aws ssm send-command \
    --instance-ids "i-1234567890abcdef0" \
    --document-name "AWS-RunShellScript" \
    --comment "IP config" \
    --parameters "commands=ifconfig" \
    --service-role-arn "arn:aws:iam::123456789012:role/SNS_Role" \
    --notification-config "NotificationArn=arn:aws:sns:us-east-1:123456789012:SNSTopicName,NotificationEvents=All,NotificationType=Command"
```
Voir l’exemple 1 pour un exemple de sortie.  
Pour plus d’informations, consultez [Exécution de commandes à l’aide de Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 5 : Pour exécuter une commande qui renvoie vers S3 et CloudWatch**  
L'`send-command`exemple suivant exécute une commande qui affiche les détails de la commande dans un compartiment S3 et dans un groupe de CloudWatch journaux Logs.  

```
aws ssm send-command \
    --instance-ids "i-1234567890abcdef0" \
    --document-name "AWS-RunShellScript" \
    --comment "IP config" \
    --parameters "commands=ifconfig" \
    --output-s3-bucket-name "s3-bucket-name" \
    --output-s3-key-prefix "runcommand" \
    --cloud-watch-output-config "CloudWatchOutputEnabled=true,CloudWatchLogGroupName=CWLGroupName"
```
Consultez l’exemple 1 pour un exemple de sortie.  
Pour plus d’informations, consultez [Exécution de commandes à l’aide de Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 6 : pour exécuter des commandes sur plusieurs instances avec des balises différentes**  
L’exemple `send-command` suivant exécute une commande sur des instances avec deux clés et valeurs de balises différentes.  

```
aws ssm send-command \
    --document-name "AWS-RunPowerShellScript" \
    --parameters commands=["echo helloWorld"] \
    --targets Key=tag:Env,Values=Dev Key=tag:Role,Values=WebServers
```
Voir l’exemple 1 pour un exemple de sortie.  
Pour plus d’informations, consultez [Exécution de commandes à l’aide de Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 7 : pour cibler plusieurs instances avec la même clé de balise**  
L’exemple `send-command` suivant exécute une commande sur des instances ayant la même clé de balise mais des valeurs différentes.  

```
aws ssm send-command \
    --document-name "AWS-RunPowerShellScript" \
    --parameters commands=["echo helloWorld"] \
    --targets Key=tag:Env,Values=Dev,Test
```
Voir l’exemple 1 pour un exemple de sortie.  
Pour plus d’informations, consultez [Exécution de commandes à l’aide de Run Command de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 8 : pour exécuter une commande qui utilise un document partagé**  
L’exemple `send-command` suivant exécute un document partagé sur une instance cible.  

```
aws ssm send-command \
    --document-name "arn:aws:ssm:us-east-1:123456789012:document/ExampleDocument" \
    --targets "Key=instanceids,Values=i-1234567890abcdef0"
```
Voir l’exemple 1 pour un exemple de sortie.  
Pour plus d’informations, consultez [Utilisation de documents SSM partagés](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-using-shared.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [SendCommand](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/send-command.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Sends a SSM command to a managed node asynchronously.
     *
     * @param documentName The name of the document to use.
     * @param instanceId The ID of the instance to send the command to.
     * @return The command ID.
     * <p>
     * This method initiates asynchronous requests to send a SSM command to a managed node.
     * It waits until the document is active, sends the command, and checks the command execution status.
     */
    public String sendSSMCommand(String documentName, String instanceId) throws InterruptedException, SsmException {
        // Before we use Document to send a command - make sure it is active.
        CompletableFuture<Void> documentActiveFuture = CompletableFuture.runAsync(() -> {
            boolean isDocumentActive = false;
            DescribeDocumentRequest request = DescribeDocumentRequest.builder()
                    .name(documentName)
                    .build();

            while (!isDocumentActive) {
                CompletableFuture<DescribeDocumentResponse> response = getAsyncClient().describeDocument(request);
                String documentStatus = response.join().document().statusAsString();
                if (documentStatus.equals("Active")) {
                    System.out.println("The SSM document is active and ready to use.");
                    isDocumentActive = true;
                } else {
                    System.out.println("The SSM document is not active. Status: " + documentStatus);
                    try {
                        Thread.sleep(5000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }
        });

        documentActiveFuture.join();

        // Create the SendCommandRequest.
        SendCommandRequest commandRequest = SendCommandRequest.builder()
                .documentName(documentName)
                .instanceIds(instanceId)
                .build();

        // Send the command.
        CompletableFuture<SendCommandResponse> commandFuture = getAsyncClient().sendCommand(commandRequest);
        final String[] commandId = {null};

        commandFuture.whenComplete((commandResponse, ex) -> {
            if (commandResponse != null) {
                commandId[0] = commandResponse.command().commandId();
                System.out.println("Command ID: " + commandId[0]);

                // Wait for the command execution to complete.
                GetCommandInvocationRequest invocationRequest = GetCommandInvocationRequest.builder()
                        .commandId(commandId[0])
                        .instanceId(instanceId)
                        .build();

                try {
                    System.out.println("Wait 5 secs");
                    TimeUnit.SECONDS.sleep(5);

                    // Retrieve the command execution details.
                    CompletableFuture<GetCommandInvocationResponse> invocationFuture = getAsyncClient().getCommandInvocation(invocationRequest);
                    invocationFuture.whenComplete((commandInvocationResponse, invocationEx) -> {
                        if (commandInvocationResponse != null) {
                            // Check the status of the command execution.
                            CommandInvocationStatus status = commandInvocationResponse.status();
                            if (status == CommandInvocationStatus.SUCCESS) {
                                System.out.println("Command execution successful");
                            } else {
                                System.out.println("Command execution failed. Status: " + status);
                            }
                        } else {
                            Throwable invocationCause = (invocationEx instanceof CompletionException) ? invocationEx.getCause() : invocationEx;
                            throw new CompletionException(invocationCause);
                        }
                    }).join();
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            } else {
                Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
                if (cause instanceof SsmException) {
                    throw (SsmException) cause;
                } else {
                    throw new RuntimeException(cause);
                }
            }
        }).join();

        return commandId[0];
    }
```
+  Pour plus de détails sur l'API, voir [SendCommand](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/SendCommand)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { SendCommandCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Send an SSM command to a managed node.
 * @param {{ documentName: string }}
 */
export const main = async ({ documentName }) => {
  const client = new SSMClient({});
  try {
    await client.send(
      new SendCommandCommand({
        DocumentName: documentName,
      }),
    );
    console.log("Command sent successfully.");
    return { Success: true };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "ValidationError") {
      console.warn(`${caught.message}. Did you provide a valid document name?`);
    } else {
      throw caught;
    }
  }
};
```
+  Pour plus de détails sur l'API, voir [SendCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/SendCommandCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple exécute une commande echo sur une instance cible.**  

```
Send-SSMCommand -DocumentName "AWS-RunPowerShellScript" -Parameter @{commands = "echo helloWorld"} -Target @{Key="instanceids";Values=@("i-0cb2b964d3e14fd9f")}
```
**Sortie** :  

```
CommandId          : d8d190fc-32c1-4d65-a0df-ff5ff3965524
Comment            : 
CompletedCount     : 0
DocumentName       : AWS-RunPowerShellScript
ErrorCount         : 0
ExpiresAfter       : 3/7/2017 10:48:37 PM
InstanceIds        : {}
MaxConcurrency     : 50
MaxErrors          : 0
NotificationConfig : Amazon.SimpleSystemsManagement.Model.NotificationConfig
OutputS3BucketName : 
OutputS3KeyPrefix  : 
OutputS3Region     : 
Parameters         : {[commands, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
RequestedDateTime  : 3/7/2017 9:48:37 PM
ServiceRole        : 
Status             : Pending
StatusDetails      : Pending
TargetCount        : 0
Targets            : {instanceids}
```
**Exemple 2 : cet exemple montre comment exécuter une commande qui accepte des paramètres imbriqués.**  

```
Send-SSMCommand -DocumentName "AWS-RunRemoteScript" -Parameter @{ sourceType="GitHub";sourceInfo='{"owner": "me","repository": "amazon-ssm","path": "Examples/Install-Win32OpenSSH"}'; "commandLine"=".\Install-Win32OpenSSH.ps1"} -InstanceId i-0cb2b964d3e14fd9f
```
+  Pour plus de détails sur l'API, reportez-vous [SendCommand](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple exécute une commande echo sur une instance cible.**  

```
Send-SSMCommand -DocumentName "AWS-RunPowerShellScript" -Parameter @{commands = "echo helloWorld"} -Target @{Key="instanceids";Values=@("i-0cb2b964d3e14fd9f")}
```
**Sortie** :  

```
CommandId          : d8d190fc-32c1-4d65-a0df-ff5ff3965524
Comment            : 
CompletedCount     : 0
DocumentName       : AWS-RunPowerShellScript
ErrorCount         : 0
ExpiresAfter       : 3/7/2017 10:48:37 PM
InstanceIds        : {}
MaxConcurrency     : 50
MaxErrors          : 0
NotificationConfig : Amazon.SimpleSystemsManagement.Model.NotificationConfig
OutputS3BucketName : 
OutputS3KeyPrefix  : 
OutputS3Region     : 
Parameters         : {[commands, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
RequestedDateTime  : 3/7/2017 9:48:37 PM
ServiceRole        : 
Status             : Pending
StatusDetails      : Pending
TargetCount        : 0
Targets            : {instanceids}
```
**Exemple 2 : cet exemple montre comment exécuter une commande qui accepte des paramètres imbriqués.**  

```
Send-SSMCommand -DocumentName "AWS-RunRemoteScript" -Parameter @{ sourceType="GitHub";sourceInfo='{"owner": "me","repository": "amazon-ssm","path": "Examples/Install-Win32OpenSSH"}'; "commandLine"=".\Install-Win32OpenSSH.ps1"} -InstanceId i-0cb2b964d3e14fd9f
```
+  Pour plus de détails sur l'API, reportez-vous [SendCommand](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class DocumentWrapper:
    """Encapsulates AWS Systems Manager Document actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def send_command(self, instance_ids):
        """
        Sends a command to one or more instances.

        :param instance_ids: The IDs of the instances to send the command to.
        :return: The ID of the command.
        """
        try:
            response = self.ssm_client.send_command(
                InstanceIds=instance_ids, DocumentName=self.name, TimeoutSeconds=3600
            )
            return response["Command"]["CommandId"]
        except ClientError as err:
            logger.error(
                "Couldn't send command to %s. Here's why: %s: %s",
                self.name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [SendCommand](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/SendCommand)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        DATA(lo_result) = lo_ssm->sendcommand(
            it_instanceids = it_instance_ids
            iv_documentname = iv_document_name
            iv_timeoutseconds = 3600 ).
        DATA(lo_command) = lo_result->get_command( ).
        IF lo_command IS BOUND.
          rv_command_id = lo_command->get_commandid( ).
          MESSAGE 'Command sent successfully.' TYPE 'I'.
        ENDIF.
      CATCH /aws1/cx_ssminvaliddocument.
        MESSAGE 'Invalid document.' TYPE 'I'.
      CATCH /aws1/cx_ssminvalidinstanceid.
        MESSAGE 'Invalid instance ID.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [SendCommand](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation de `StartAutomationExecution` avec une CLI
<a name="ssm_example_ssm_StartAutomationExecution_section"></a>

Les exemples de code suivants illustrent comment utiliser `StartAutomationExecution`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour exécuter un document d’automatisation**  
L’exemple `start-automation-execution` suivant exécute un document d’automatisation.  

```
aws ssm start-automation-execution \
    --document-name "AWS-UpdateLinuxAmi" \
    --parameters "AutomationAssumeRole=arn:aws:iam::123456789012:role/SSMAutomationRole,SourceAmiId=ami-EXAMPLE,IamInstanceProfileName=EC2InstanceRole"
```
Sortie :  

```
{
  "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0a1b2EXAMPLE"
}
```
Pour plus d’informations, consultez [Exécution manuelle d’un flux de travail d’automatisation](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-working-executing-manually.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
**Exemple 2 : pour exécuter un document d’automatisation partagé**  
L’exemple `start-automation-execution` suivant exécute un document d’automatisation partagé.  

```
aws ssm start-automation-execution \
    --document-name "arn:aws:ssm:us-east-1:123456789012:document/ExampleDocument"
```
Sortie :  

```
{
  "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0a1b2EXAMPLE"
}
```
Pour plus d’informations, consultez [Utilisation de documents SSM partagés](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-using-shared.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [StartAutomationExecution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/start-automation-execution.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple exécute un document qui spécifie un rôle d’automatisation, un ID de source AMI et un rôle d’instance Amazon EC2.**  

```
Start-SSMAutomationExecution -DocumentName AWS-UpdateLinuxAmi -Parameter @{'AutomationAssumeRole'='arn:aws:iam::123456789012:role/SSMAutomationRole';'SourceAmiId'='ami-f173cc91';'InstanceIamRole'='EC2InstanceRole'}
```
**Sortie** :  

```
3a532a4f-0382-11e7-9df7-6f11185f6dd1
```
+  Pour plus de détails sur l'API, reportez-vous [StartAutomationExecution](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple exécute un document qui spécifie un rôle d’automatisation, un ID de source AMI et un rôle d’instance Amazon EC2.**  

```
Start-SSMAutomationExecution -DocumentName AWS-UpdateLinuxAmi -Parameter @{'AutomationAssumeRole'='arn:aws:iam::123456789012:role/SSMAutomationRole';'SourceAmiId'='ami-f173cc91';'InstanceIamRole'='EC2InstanceRole'}
```
**Sortie** :  

```
3a532a4f-0382-11e7-9df7-6f11185f6dd1
```
+  Pour plus de détails sur l'API, reportez-vous [StartAutomationExecution](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `StartSession` avec une CLI
<a name="ssm_example_ssm_StartSession_section"></a>

Les exemples de code suivants illustrent comment utiliser `StartSession`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour démarrer une session Session Manager**  
Cet exemple `start-session` établit une connexion avec une instance pour une session Session Manager. Notez que cette commande interactive nécessite l’installation du plugin Session Manager sur l’ordinateur client qui effectue l’appel.  

```
aws ssm start-session \
    --target "i-1234567890abcdef0"
```
Sortie :  

```
Starting session with SessionId: Jane-Roe-07a16060613c408b5
```
**Exemple 2 : pour démarrer une session Session Manager en utilisant SSH**  
Cet exemple `start-session` établit une connexion avec une instance pour une session Session Manager en utilisant SSH. Notez que cette commande interactive nécessite que le plugin Session Manager soit installé sur l’ordinateur client qui effectue l’appel, et que la commande utilise l’utilisateur par défaut sur l’instance, par exemple `ec2-user` pour les instances EC2 pour Linux.  

```
ssh -i /path/my-key-pair.pem ec2-user@i-02573cafcfEXAMPLE
```
Sortie :  

```
Starting session with SessionId: ec2-user-07a16060613c408b5
```
Pour plus d'informations, consultez [Démarrer une session](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html) et [installer le plug-in Session Manager pour la AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [StartSession](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/start-session.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple initie une connexion à une cible pour une session Session Manager, en activant la redirection de port.**  

```
Start-SSMSession -Target 'i-064578e5e7454488f' -DocumentName 'AWS-StartPortForwardingSession' -Parameter @{ localPortNumber = '8080'; portNumber = '80' }
```
**Sortie** :  

```
SessionId    StreamUrl
----------    ----------
random-id0    wss://ssmmessages.amazonaws.com/v1/data-channel/random-id
```
+  Pour plus de détails sur l'API, reportez-vous [StartSession](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple initie une connexion à une cible pour une session Session Manager, en activant la redirection de port. Remarque : vous devez ajouter le paramètre Region s'il n'est pas déjà défini à l'aide de AWSCredentials.**  

```
Start-SSMSession -Target 'i-064578e5e7454488f' -DocumentName 'AWS-StartPortForwardingSession' -Parameter @{ localPortNumber = '8080'; portNumber = '80' } -Region 'us-west-1'
```
**Sortie** :  

```
Starting session with SessionId: testUser-xi4glew849asyeryde34u4dfsdfy
Port 8080 opened for sessionId testUser-xi4glew849asyeryde34u4dfsdfy.
Waiting for connections...
```
**Exemple 2 : cet exemple crée une session interactive avec une instance spécifiée pour une session Session Manager.**  

```
Start-SSMSession -Target 'i-1234567890abcdef0' -Region 'us-west-1'
```
**Sortie** :  

```
Starting session with SessionId : testUser-xi4glew849asyeryde34u4dfsdfy
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
                                                                                                                                                                                                
Install the latest PowerShell for new features and improvements!
                                                                                                                                                      
PS C:\Windows\system32> whoami
ec2amaz-fnsdrwv\ec2-test-user
PS C:\Windows\system32>
```
**Exemple 3 : Cet exemple crée une session sans s'y connecter et renvoie les TokenValue propriétés SessionId StreamUrl, et requises pour se connecter à la session.**  

```
Start-SSMSession -Target 'i-1234567890abcdef0' -Region 'us-west-1' -DisablePluginInvocation
```
**Sortie** :  

```
SessionId        : testUser-xi4glew849asyeryde34u4dfsdfy
StreamUrl        : {StreamUrl value redacted}
TokenValue       : {Token value redacted}
ContentLength    : 1207
HttpStatusCode   : OK
```
+  Pour plus de détails sur l'API, reportez-vous [StartSession](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `StopAutomationExecution` avec une CLI
<a name="ssm_example_ssm_StopAutomationExecution_section"></a>

Les exemples de code suivants illustrent comment utiliser `StopAutomationExecution`.

------
#### [ CLI ]

**AWS CLI**  
**Pour arrêter l’exécution d’une automatisation**  
L’exemple `stop-automation-execution` suivant arrête un document d’automatisation.  

```
aws ssm stop-automation-execution
    --automation-execution-id "4105a4fc-f944-11e6-9d32-0a1b2EXAMPLE"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Exécution manuelle d’un flux de travail d’automatisation](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-working-executing-manually.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [StopAutomationExecution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/stop-automation-execution.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple arrête l’exécution d’une automatisation. Il n’y a pas de sortie si la commande réussit.**  

```
Stop-SSMAutomationExecution -AutomationExecutionId "4105a4fc-f944-11e6-9d32-8fb2db27a909"
```
+  Pour plus de détails sur l'API, reportez-vous [StopAutomationExecution](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple arrête l’exécution d’une automatisation. Il n’y a pas de sortie si la commande réussit.**  

```
Stop-SSMAutomationExecution -AutomationExecutionId "4105a4fc-f944-11e6-9d32-8fb2db27a909"
```
+  Pour plus de détails sur l'API, reportez-vous [StopAutomationExecution](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `UpdateAssociation` avec une CLI
<a name="ssm_example_ssm_UpdateAssociation_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdateAssociation`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour mettre à jour une association de documents**  
L’exemple `update-association` suivant met à jour une association avec une nouvelle version de document.  

```
aws ssm update-association \
    --association-id "8dfe3659-4309-493a-8755-0123456789ab" \
    --document-version "\$LATEST"
```
Sortie :  

```
{
    "AssociationDescription": {
        "Name": "AWS-UpdateSSMAgent",
        "AssociationVersion": "2",
        "Date": 1550508093.293,
        "LastUpdateAssociationDate": 1550508106.596,
        "Overview": {
            "Status": "Pending",
            "DetailedStatus": "Creating"
        },
        "DocumentVersion": "$LATEST",
        "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
        "Targets": [
            {
                "Key": "tag:Name",
                "Values": [
                    "Linux"
                ]
            }
        ],
        "LastExecutionDate": 1550508094.879,
        "LastSuccessfulExecutionDate": 1550508094.879
    }
}
```
Pour plus d’informations, consultez [Modifier et créer une nouvelle version d’une association](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc-edit.html) (français non garanti) dans le *AWS Guide de l’utilisateur Systems Manager* (français non garanti).  
**Exemple 2 : pour mettre à jour l’expression de l’horaire d’une association**  
L’exemple `update-association` suivant met à jour l’expression de l’horaire pour l’association spécifiée.  

```
aws ssm update-association \
    --association-id "8dfe3659-4309-493a-8755-0123456789ab" \
    --schedule-expression "cron(0 0 0/4 1/1 * ? *)"
```
Sortie :  

```
{
    "AssociationDescription": {
        "Name": "AWS-HelloWorld",
        "AssociationVersion": "2",
        "Date": "2021-02-08T13:54:19.203000-08:00",
        "LastUpdateAssociationDate": "2021-06-29T11:51:07.933000-07:00",
        "Overview": {
            "Status": "Pending",
            "DetailedStatus": "Creating"
        },
        "DocumentVersion": "$DEFAULT",
        "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
        "Targets": [
            {
                "Key": "aws:NoOpAutomationTag",
                "Values": [
                    "AWS-NoOpAutomationTarget-Value"
                ]
            }
        ],
        "ScheduleExpression": "cron(0 0 0/4 1/1 * ? *)",
        "LastExecutionDate": "2021-06-26T19:00:48.110000-07:00",
        "ApplyOnlyAtCronInterval": false
    }
}
```
Pour plus d’informations, consultez [Modifier et créer une nouvelle version d’une association](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc-edit.html) (français non garanti) dans le *AWS Guide de l’utilisateur Systems Manager* (français non garanti).  
+  Pour plus de détails sur l'API, reportez-vous [UpdateAssociation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/update-association.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple met à jour une association avec une nouvelle version de document.**  

```
Update-SSMAssociation -AssociationId "93285663-92df-44cb-9f26-2292d4ecc439" -DocumentVersion "1"
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            :
Date                  : 3/1/2017 6:22:21 PM
Status.Name           :
Status.Date           :
Status.Message        :
Status.AdditionalInfo :
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateAssociation](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple met à jour une association avec une nouvelle version de document.**  

```
Update-SSMAssociation -AssociationId "93285663-92df-44cb-9f26-2292d4ecc439" -DocumentVersion "1"
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            :
Date                  : 3/1/2017 6:22:21 PM
Status.Name           :
Status.Date           :
Status.Message        :
Status.AdditionalInfo :
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateAssociation](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `UpdateAssociationStatus` avec une CLI
<a name="ssm_example_ssm_UpdateAssociationStatus_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdateAssociationStatus`.

------
#### [ CLI ]

**AWS CLI**  
**Pour mettre à jour le statut de l’association**  
L’exemple `update-association-status` suivant met à jour le statut de l’association entre une instance et un document.  

```
aws ssm update-association-status \
    --name "AWS-UpdateSSMAgent" \
    --instance-id "i-1234567890abcdef0" \
    --association-status "Date=1424421071.939,Name=Pending,Message=temp_status_change,AdditionalInfo=Additional-Config-Needed"
```
Sortie :  

```
{
    "AssociationDescription": {
        "Name": "AWS-UpdateSSMAgent",
        "InstanceId": "i-1234567890abcdef0",
        "AssociationVersion": "1",
        "Date": 1550507529.604,
        "LastUpdateAssociationDate": 1550507806.974,
        "Status": {
            "Date": 1424421071.0,
            "Name": "Pending",
            "Message": "temp_status_change",
            "AdditionalInfo": "Additional-Config-Needed"
        },
        "Overview": {
            "Status": "Success",
            "AssociationStatusAggregatedCount": {
                "Success": 1
            }
        },
        "DocumentVersion": "$DEFAULT",
        "AssociationId": "8dfe3659-4309-493a-8755-0123456789ab",
        "Targets": [
            {
                "Key": "InstanceIds",
                "Values": [
                    "i-1234567890abcdef0"
                ]
            }
        ],
        "LastExecutionDate": 1550507808.0,
        "LastSuccessfulExecutionDate": 1550507808.0
    }
}
```
Pour plus d’informations, consultez [Utilisation des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-associations.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [UpdateAssociationStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/update-association-status.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple met à jour le statut de l’association entre une instance et un document de configuration.**  

```
Update-SSMAssociationStatus -Name "AWS-UpdateSSMAgent" -InstanceId "i-0000293ffd8c57862" -AssociationStatus_Date "2015-02-20T08:31:11Z" -AssociationStatus_Name "Pending" -AssociationStatus_Message "temporary_status_change" -AssociationStatus_AdditionalInfo "Additional-Config-Needed"
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            : i-0000293ffd8c57862
Date                  : 2/23/2017 6:55:22 PM
Status.Name           : Pending
Status.Date           : 2/20/2015 8:31:11 AM
Status.Message        : temporary_status_change
Status.AdditionalInfo : Additional-Config-Needed
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateAssociationStatus](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple met à jour le statut de l’association entre une instance et un document de configuration.**  

```
Update-SSMAssociationStatus -Name "AWS-UpdateSSMAgent" -InstanceId "i-0000293ffd8c57862" -AssociationStatus_Date "2015-02-20T08:31:11Z" -AssociationStatus_Name "Pending" -AssociationStatus_Message "temporary_status_change" -AssociationStatus_AdditionalInfo "Additional-Config-Needed"
```
**Sortie** :  

```
Name                  : AWS-UpdateSSMAgent
InstanceId            : i-0000293ffd8c57862
Date                  : 2/23/2017 6:55:22 PM
Status.Name           : Pending
Status.Date           : 2/20/2015 8:31:11 AM
Status.Message        : temporary_status_change
Status.AdditionalInfo : Additional-Config-Needed
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateAssociationStatus](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `UpdateDocument` avec une CLI
<a name="ssm_example_ssm_UpdateDocument_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdateDocument`.

------
#### [ CLI ]

**AWS CLI**  
**Pour créer une version d’un document**  
L’exemple `update-document` suivant crée une nouvelle version d’un document lorsqu’il est exécuté dans un ordinateur Windows. Le document spécifié par `--document` doit être au format JSON. Notez que `file://` doit être référencé et suivi du chemin d’accès au fichier de contenu. En raison du `$` au début du paramètre `--document-version`, vous devez entourer la valeur de guillemets doubles sous Windows. Sous Linux, macOS ou lorsque vous y êtes PowerShell invité, vous devez placer la valeur entre guillemets simples.  
**Version Windows** :  

```
aws ssm update-document \
    --name "RunShellScript" \
    --content "file://RunShellScript.json" \
    --document-version "$LATEST"
```
**Version Linux/Mac** :  

```
aws ssm update-document \
    --name "RunShellScript" \
    --content "file://RunShellScript.json" \
    --document-version '$LATEST'
```
Sortie :  

```
{
  "DocumentDescription": {
      "Status": "Updating",
      "Hash": "f775e5df4904c6fa46686c4722fae9de1950dace25cd9608ff8d622046b68d9b",
      "Name": "RunShellScript",
      "Parameters": [
          {
              "Type": "StringList",
              "Name": "commands",
              "Description": "(Required) Specify a shell script or a command to run."
          }
      ],
      "DocumentType": "Command",
      "PlatformTypes": [
          "Linux"
      ],
      "DocumentVersion": "2",
      "HashType": "Sha256",
      "CreatedDate": 1487899655.152,
      "Owner": "809632081692",
      "SchemaVersion": "2.0",
      "DefaultVersion": "1",
      "LatestVersion": "2",
      "Description": "Run an updated script"
  }
}
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateDocument](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/update-document.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : ceci crée une nouvelle version d’un document avec le contenu mis à jour du fichier json que vous spécifiez. Le document doit être au format JSON. Vous pouvez obtenir la version du document à l'aide de l'applet de commande « Get- SSMDocument VersionList ».**  

```
Update-SSMDocument -Name RunShellScript -DocumentVersion "1" -Content (Get-Content -Raw "c:\temp\RunShellScript.json")
```
**Sortie** :  

```
CreatedDate     : 3/1/2017 2:59:17 AM
DefaultVersion  : 1
Description     : Run an updated script
DocumentType    : Command
DocumentVersion : 2
Hash            : 1d5ce820e999ff051eb4841ed887593daf77120fd76cae0d18a53cc42e4e22c1
HashType        : Sha256
LatestVersion   : 2
Name            : RunShellScript
Owner           : 809632081692
Parameters      : {commands}
PlatformTypes   : {Linux}
SchemaVersion   : 2.0
Sha1            :
Status          : Updating
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateDocument](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : ceci crée une nouvelle version d’un document avec le contenu mis à jour du fichier json que vous spécifiez. Le document doit être au format JSON. Vous pouvez obtenir la version du document à l'aide de l'applet de commande « Get- SSMDocument VersionList ».**  

```
Update-SSMDocument -Name RunShellScript -DocumentVersion "1" -Content (Get-Content -Raw "c:\temp\RunShellScript.json")
```
**Sortie** :  

```
CreatedDate     : 3/1/2017 2:59:17 AM
DefaultVersion  : 1
Description     : Run an updated script
DocumentType    : Command
DocumentVersion : 2
Hash            : 1d5ce820e999ff051eb4841ed887593daf77120fd76cae0d18a53cc42e4e22c1
HashType        : Sha256
LatestVersion   : 2
Name            : RunShellScript
Owner           : 809632081692
Parameters      : {commands}
PlatformTypes   : {Linux}
SchemaVersion   : 2.0
Sha1            :
Status          : Updating
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateDocument](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation de `UpdateDocumentDefaultVersion` avec une CLI
<a name="ssm_example_ssm_UpdateDocumentDefaultVersion_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdateDocumentDefaultVersion`.

------
#### [ CLI ]

**AWS CLI**  
**Pour mettre à jour la version par défaut d’un document**  
L’exemple `update-document-default-version` suivant met à jour la version par défaut d’un document Systems Manager.  

```
aws ssm update-document-default-version \
    --name "Example" \
    --document-version "2"
```
Sortie :  

```
{
    "Description": {
        "Name": "Example",
        "DefaultVersion": "2"
    }
}
```
Pour plus d’informations, consultez [Écrire le contenu d’un document SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-doc.html#writing-ssm-doc-content) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [UpdateDocumentDefaultVersion](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/update-document-default-version.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple met à jour la version par défaut d’un document. Vous pouvez obtenir les versions de document disponibles à l'aide de l'applet de commande « Get- SSMDocument VersionList ».**  

```
Update-SSMDocumentDefaultVersion -Name "RunShellScript" -DocumentVersion "2"
```
**Sortie** :  

```
DefaultVersion Name
-------------- ----
2              RunShellScript
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateDocumentDefaultVersion](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple met à jour la version par défaut d’un document. Vous pouvez obtenir les versions de document disponibles à l'aide de l'applet de commande « Get- SSMDocument VersionList ».**  

```
Update-SSMDocumentDefaultVersion -Name "RunShellScript" -DocumentVersion "2"
```
**Sortie** :  

```
DefaultVersion Name
-------------- ----
2              RunShellScript
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateDocumentDefaultVersion](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `UpdateMaintenanceWindow` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_UpdateMaintenanceWindow_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdateMaintenanceWindow`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour mettre à jour une fenêtre de maintenance**  
L’exemple `update-maintenance-window` suivant met à jour le nom d’une fenêtre de maintenance.  

```
aws ssm update-maintenance-window \
    --window-id "mw-1a2b3c4d5e6f7g8h9" \
    --name "My-Renamed-MW"
```
Sortie :  

```
{
    "Cutoff": 1,
    "Name": "My-Renamed-MW",
    "Schedule": "cron(0 16 ? * TUE *)",
    "Enabled": true,
    "AllowUnassociatedTargets": true,
    "WindowId": "mw-1a2b3c4d5e6f7g8h9",
    "Duration": 4
}
```
**Exemple 2 : pour désactiver une fenêtre de maintenance**  
L’exemple `update-maintenance-window` suivant désactive une fenêtre de maintenance.  

```
aws ssm update-maintenance-window \
    --window-id "mw-1a2b3c4d5e6f7g8h9" \
    --no-enabled
```
**Exemple 3 : pour activer une fenêtre de maintenance**  
L’exemple `update-maintenance-window` suivant permet d’activer une fenêtre de maintenance.  

```
aws ssm update-maintenance-window \
    --window-id "mw-1a2b3c4d5e6f7g8h9" \
    --enabled
```
Pour plus d'informations, voir [Mettre à jour une fenêtre de maintenance (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-cli-tutorials-update.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [UpdateMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/update-maintenance-window.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Updates an SSM maintenance window asynchronously.
     *
     * @param id The ID of the maintenance window to update.
     * @param name The new name for the maintenance window.
     * <p>
     * This method initiates an asynchronous request to update an SSM maintenance window.
     * If the request is successful, it prints a success message.
     * If an exception occurs, it handles the error appropriately.
     */
    public void updateSSMMaintenanceWindow(String id, String name) throws SsmException {
        UpdateMaintenanceWindowRequest updateRequest = UpdateMaintenanceWindowRequest.builder()
                .windowId(id)
                .allowUnassociatedTargets(true)
                .duration(24)
                .enabled(true)
                .name(name)
                .schedule("cron(0 0 ? * MON *)")
                .build();

        CompletableFuture<UpdateMaintenanceWindowResponse> future = getAsyncClient().updateMaintenanceWindow(updateRequest);
        future.whenComplete((response, ex) -> {
            if (response != null) {
                System.out.println("The SSM maintenance window was successfully updated");
            } else {
                Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
                if (cause instanceof SsmException) {
                    throw new CompletionException(cause);
                } else {
                    throw new RuntimeException(cause);
                }
            }
        }).join();
    }
```
+  Pour plus de détails sur l'API, voir [UpdateMaintenanceWindow](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/UpdateMaintenanceWindow)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { UpdateMaintenanceWindowCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Update an SSM maintenance window.
 * @param {{ windowId: string, allowUnassociatedTargets?: boolean, duration?: number, enabled?: boolean, name?: string, schedule?: string }}
 */
export const main = async ({
  windowId,
  allowUnassociatedTargets = undefined, //Allow the maintenance window to run on managed nodes, even if you haven't registered those nodes as targets.
  duration = undefined, //The duration of the maintenance window in hours.
  enabled = undefined,
  name = undefined,
  schedule = undefined, //The schedule of the maintenance window in the form of a cron or rate expression.
}) => {
  const client = new SSMClient({});
  try {
    const { opsItemArn, opsItemId } = await client.send(
      new UpdateMaintenanceWindowCommand({
        WindowId: windowId,
        AllowUnassociatedTargets: allowUnassociatedTargets,
        Duration: duration,
        Enabled: enabled,
        Name: name,
        Schedule: schedule,
      }),
    );
    console.log("Maintenance window updated.");
    return { OpsItemArn: opsItemArn, OpsItemId: opsItemId };
  } catch (caught) {
    if (caught instanceof Error && caught.name === "ValidationError") {
      console.warn(`${caught.message}. Are these values correct?`);
    } else {
      throw caught;
    }
  }
};
```
+  Pour plus de détails sur l'API, voir [UpdateMaintenanceWindow](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/UpdateMaintenanceWindowCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple met à jour le nom d’une fenêtre de maintenance.**  

```
Update-SSMMaintenanceWindow -WindowId "mw-03eb9db42890fb82d" -Name "My-Renamed-MW"
```
**Sortie** :  

```
AllowUnassociatedTargets : False
Cutoff                   : 1
Duration                 : 2
Enabled                  : True
Name                     : My-Renamed-MW
Schedule                 : cron(0 */30 * * * ? *)
WindowId                 : mw-03eb9db42890fb82d
```
**Exemple 2 : cet exemple active une fenêtre de maintenance.**  

```
Update-SSMMaintenanceWindow -WindowId "mw-03eb9db42890fb82d" -Enabled $true
```
**Sortie** :  

```
AllowUnassociatedTargets : False
Cutoff                   : 1
Duration                 : 2
Enabled                  : True
Name                     : My-Renamed-MW
Schedule                 : cron(0 */30 * * * ? *)
WindowId                 : mw-03eb9db42890fb82d
```
**Exemple 3 : cet exemple désactive une fenêtre de maintenance.**  

```
Update-SSMMaintenanceWindow -WindowId "mw-03eb9db42890fb82d" -Enabled $false
```
**Sortie** :  

```
AllowUnassociatedTargets : False
Cutoff                   : 1
Duration                 : 2
Enabled                  : False
Name                     : My-Renamed-MW
Schedule                 : cron(0 */30 * * * ? *)
WindowId                 : mw-03eb9db42890fb82d
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateMaintenanceWindow](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple met à jour le nom d’une fenêtre de maintenance.**  

```
Update-SSMMaintenanceWindow -WindowId "mw-03eb9db42890fb82d" -Name "My-Renamed-MW"
```
**Sortie** :  

```
AllowUnassociatedTargets : False
Cutoff                   : 1
Duration                 : 2
Enabled                  : True
Name                     : My-Renamed-MW
Schedule                 : cron(0 */30 * * * ? *)
WindowId                 : mw-03eb9db42890fb82d
```
**Exemple 2 : cet exemple active une fenêtre de maintenance.**  

```
Update-SSMMaintenanceWindow -WindowId "mw-03eb9db42890fb82d" -Enabled $true
```
**Sortie** :  

```
AllowUnassociatedTargets : False
Cutoff                   : 1
Duration                 : 2
Enabled                  : True
Name                     : My-Renamed-MW
Schedule                 : cron(0 */30 * * * ? *)
WindowId                 : mw-03eb9db42890fb82d
```
**Exemple 3 : cet exemple désactive une fenêtre de maintenance.**  

```
Update-SSMMaintenanceWindow -WindowId "mw-03eb9db42890fb82d" -Enabled $false
```
**Sortie** :  

```
AllowUnassociatedTargets : False
Cutoff                   : 1
Duration                 : 2
Enabled                  : False
Name                     : My-Renamed-MW
Schedule                 : cron(0 */30 * * * ? *)
WindowId                 : mw-03eb9db42890fb82d
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateMaintenanceWindow](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class MaintenanceWindowWrapper:
    """Encapsulates AWS Systems Manager maintenance window actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.window_id = None
        self.name = None

    @classmethod
    def from_client(cls):
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def update(
        self, name, enabled, schedule, duration, cutoff, allow_unassociated_targets
    ):
        """
        Update an AWS Systems Manager maintenance window.

        :param name: The name of the maintenance window.
        :param enabled: Whether the maintenance window is enabled to run on managed nodes.
        :param schedule: The schedule of the maintenance window.
        :param duration: The duration of the maintenance window.
        :param cutoff: The cutoff time of the maintenance window.
        :param allow_unassociated_targets: Allow the maintenance window to run on managed nodes, even
                                           if you haven't registered those nodes as targets.
        """
        try:
            self.ssm_client.update_maintenance_window(
                WindowId=self.window_id,
                Name=name,
                Enabled=enabled,
                Schedule=schedule,
                Duration=duration,
                Cutoff=cutoff,
                AllowUnassociatedTargets=allow_unassociated_targets,
            )
            self.name = name
            logger.info("Updated maintenance window %s.", self.window_id)
        except ParamValidationError as error:
            logger.error(
                "Parameter validation error when trying to update maintenance window %s. Here's why: %s",
                self.window_id,
                error,
            )
            raise
        except ClientError as err:
            logger.error(
                "Couldn't update maintenance window %s. Here's why: %s: %s",
                self.name,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [UpdateMaintenanceWindow](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/UpdateMaintenanceWindow)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        lo_ssm->updatemaintenancewindow(
            iv_windowid = iv_window_id
            iv_name = iv_name
            iv_enabled = iv_enabled
            iv_schedule = iv_schedule
            iv_duration = iv_duration
            iv_cutoff = iv_cutoff
            iv_allowunassociatedtargets = iv_allow_unassociated_targets ).
        MESSAGE 'Maintenance window updated.' TYPE 'I'.
      CATCH /aws1/cx_ssmdoesnotexistex.
        MESSAGE 'Maintenance window does not exist.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [UpdateMaintenanceWindow](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation de `UpdateManagedInstanceRole` avec une CLI
<a name="ssm_example_ssm_UpdateManagedInstanceRole_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdateManagedInstanceRole`.

------
#### [ CLI ]

**AWS CLI**  
**Pour mettre à jour le rôle IAM d’une instance gérée**  
L’exemple `update-managed-instance-role` suivant met à jour le profil d’instance IAM d’une instance gérée.  

```
aws ssm update-managed-instance-role \
    --instance-id "mi-08ab247cdfEXAMPLE" \
    --iam-role "ExampleRole"
```
Cette commande ne produit aucune sortie.  
Pour plus d’informations, consultez [Étape 4 : créer un profil d’instance IAM pour Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html) dans le *Guide de l’utilisateur AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [UpdateManagedInstanceRole](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/update-managed-instance-role.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple met à jour le rôle d’une instance gérée. Il n’y a pas de sortie si la commande réussit.**  

```
Update-SSMManagedInstanceRole -InstanceId "mi-08ab247cdf1046573" -IamRole "AutomationRole"
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateManagedInstanceRole](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple met à jour le rôle d’une instance gérée. Il n’y a pas de sortie si la commande réussit.**  

```
Update-SSMManagedInstanceRole -InstanceId "mi-08ab247cdf1046573" -IamRole "AutomationRole"
```
+  Pour plus de détails sur l'API, reportez-vous [UpdateManagedInstanceRole](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Utilisation `UpdateOpsItem` avec un AWS SDK ou une CLI
<a name="ssm_example_ssm_UpdateOpsItem_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdateOpsItem`.

Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant : 
+  [Principes de base](ssm_example_ssm_Scenario_section.md) 

------
#### [ CLI ]

**AWS CLI**  
**Pour mettre à jour un OpsItem**  
L'`update-ops-item`exemple suivant met à jour la description, la priorité et la catégorie d'un OpsItem. En outre, la commande spécifie une rubrique SNS dans laquelle les notifications sont envoyées lorsqu'elle OpsItem est modifiée ou modifiée.  

```
aws ssm update-ops-item \
    --ops-item-id "oi-287b5EXAMPLE" \
    --description "Primary OpsItem for failover event 2020-01-01-fh398yf" \
    --priority 2 \
    --category "Security" \
    --notifications "Arn=arn:aws:sns:us-east-2:111222333444:my-us-east-2-topic"
```
Sortie :  

```
This command produces no output.
```
Pour plus d'informations, reportez-vous à la section [Travailler avec OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems.html) dans le *guide de l'utilisateur de AWS Systems Manager*.  
+  Pour plus de détails sur l'API, reportez-vous [UpdateOpsItem](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/update-ops-item.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Java ]

**SDK pour Java 2.x**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/ssm#code-examples). 

```
    /**
     * Resolves an AWS SSM OpsItem asynchronously.
     *
     * @param opsID The ID of the OpsItem to resolve.
     * <p>
     * This method initiates an asynchronous request to resolve an SSM OpsItem.
     * If an exception occurs, it handles the error appropriately.
     */
    public void resolveOpsItem(String opsID) {
        UpdateOpsItemRequest opsItemRequest = UpdateOpsItemRequest.builder()
                .opsItemId(opsID)
                .status(OpsItemStatus.RESOLVED)
                .build();

        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            getAsyncClient().updateOpsItem(opsItemRequest)
                    .thenAccept(response -> {
                        System.out.println("OpsItem resolved successfully.");
                    })
                    .exceptionally(ex -> {
                        throw new CompletionException(ex);
                    }).join();
        }).exceptionally(ex -> {
            Throwable cause = (ex instanceof CompletionException) ? ex.getCause() : ex;
            if (cause instanceof SsmException) {
                throw new RuntimeException("SSM error: " + cause.getMessage(), cause);
            } else {
                throw new RuntimeException("Unexpected error: " + cause.getMessage(), cause);
            }
        });

        try {
            future.join();
        } catch (CompletionException ex) {
            throw ex.getCause() instanceof RuntimeException ? (RuntimeException) ex.getCause() : ex;
        }
    }
```
+  Pour plus de détails sur l'API, voir [UpdateOpsItem](https://docs.aws.amazon.com/goto/SdkForJavaV2/ssm-2014-11-06/UpdateOpsItem)la section *Référence des AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK pour JavaScript (v3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/ssm#code-examples). 

```
import { UpdateOpsItemCommand, SSMClient } from "@aws-sdk/client-ssm";
import { parseArgs } from "node:util";

/**
 * Update an SSM OpsItem.
 * @param {{ opsItemId: string, status?: OpsItemStatus }}
 */
export const main = async ({
  opsItemId,
  status = undefined, // The OpsItem status. Status can be Open, In Progress, or Resolved
}) => {
  const client = new SSMClient({});
  try {
    await client.send(
      new UpdateOpsItemCommand({
        OpsItemId: opsItemId,
        Status: status,
      }),
    );
    console.log("Ops item updated.");
    return { Success: true };
  } catch (caught) {
    if (
      caught instanceof Error &&
      caught.name === "OpsItemLimitExceededException"
    ) {
      console.warn(
        `Couldn't create ops item because you have exceeded your open OpsItem limit. ${caught.message}.`,
      );
    } else {
      throw caught;
    }
  }
};
```
+  Pour plus de détails sur l'API, voir [UpdateOpsItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/UpdateOpsItemCommand)la section *Référence des AWS SDK pour JavaScript API*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/ssm#code-examples). 

```
class OpsItemWrapper:
    """Encapsulates AWS Systems Manager OpsItem actions."""

    def __init__(self, ssm_client):
        """
        :param ssm_client: A Boto3 Systems Manager client.
        """
        self.ssm_client = ssm_client
        self.id = None

    @classmethod
    def from_client(cls):
        """
        :return: A OpsItemWrapper instance.
        """
        ssm_client = boto3.client("ssm")
        return cls(ssm_client)


    def update(self, title=None, description=None, status=None):
        """
        Update an OpsItem.

        :param title: The new OpsItem title.
        :param description: The new OpsItem description.
        :param status: The new OpsItem status.
        :return:
        """
        args = dict(OpsItemId=self.id)
        if title is not None:
            args["Title"] = title
        if description is not None:
            args["Description"] = description
        if status is not None:
            args["Status"] = status
        try:
            self.ssm_client.update_ops_item(**args)
        except ClientError as err:
            logger.error(
                "Couldn't update ops item %s. Here's why: %s: %s",
                self.id,
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
```
+  Pour plus de détails sur l'API, consultez [UpdateOpsItem](https://docs.aws.amazon.com/goto/boto3/ssm-2014-11-06/UpdateOpsItem)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/ssm#code-examples). 

```
    TRY.
        lo_ssm->updateopsitem(
            iv_opsitemid = iv_ops_item_id
            iv_title = iv_title
            iv_description = iv_description
            iv_status = iv_status ).
        MESSAGE 'OpsItem updated.' TYPE 'I'.
      CATCH /aws1/cx_ssmopsitemnotfoundex.
        MESSAGE 'OpsItem not found.' TYPE 'I'.
      CATCH /aws1/cx_ssmopsiteminvparamex.
        MESSAGE 'Invalid OpsItem parameter.' TYPE 'I'.
    ENDTRY.
```
+  Pour plus de détails sur l'API, consultez [UpdateOpsItem](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------

# Utilisation de `UpdatePatchBaseline` avec une CLI
<a name="ssm_example_ssm_UpdatePatchBaseline_section"></a>

Les exemples de code suivants illustrent comment utiliser `UpdatePatchBaseline`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour mettre à jour un référentiel de correctifs**  
L’exemple `update-patch-baseline` suivant ajoute les deux correctifs spécifiés comme rejetés et un correctif comme approuvé au référentiel de correctifs spécifié.  

```
aws ssm update-patch-baseline \
        --baseline-id "pb-0123456789abcdef0" \
        --rejected-patches "KB2032276" "MS10-048" \
        --approved-patches "KB2124261"
```
Sortie :  

```
{
    "BaselineId": "pb-0123456789abcdef0",
    "Name": "WindowsPatching",
    "OperatingSystem": "WINDOWS",
    "GlobalFilters": {
        "PatchFilters": []
    },
    "ApprovalRules": {
        "PatchRules": [
            {
                "PatchFilterGroup": {
                    "PatchFilters": [
                        {
                            "Key": "PRODUCT",
                            "Values": [
                                "WindowsServer2016"
                            ]
                        }
                    ]
                },
                "ComplianceLevel": "CRITICAL",
                "ApproveAfterDays": 0,
                "EnableNonSecurity": false
            }
        ]
    },
    "ApprovedPatches": [
        "KB2124261"
    ],
    "ApprovedPatchesComplianceLevel": "UNSPECIFIED",
    "ApprovedPatchesEnableNonSecurity": false,
    "RejectedPatches": [
        "KB2032276",
        "MS10-048"
    ],
    "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY",
    "CreatedDate": 1550244180.465,
    "ModifiedDate": 1550244180.465,
    "Description": "Patches for Windows Servers",
    "Sources": []
}
```
**Exemple 2 : pour renommer un référentiel de correctifs**  
L’exemple `update-patch-baseline` suivant renomme le référentiel de correctifs spécifié.  

```
aws ssm update-patch-baseline \
    --baseline-id "pb-0713accee01234567" \
    --name "Windows-Server-2012-R2-Important-and-Critical-Security-Updates"
```
Pour plus d'informations, voir Mettre à jour ou supprimer une ligne de base de correctifs < https://docs.aws.amazon.com/systems-manager/ latest/userguide/patch - baseline-update-or-delete .html>`\$1\$1 dans le guide de l'utilisateur de *AWS Systems* Manager.  
+  Pour plus de détails sur l'API, reportez-vous [UpdatePatchBaseline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/update-patch-baseline.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cet exemple ajoute deux correctifs comme étant rejetés et un correctif comme étant approuvé à un référentiel de correctifs existant.**  

```
Update-SSMPatchBaseline -BaselineId "pb-03da896ca3b68b639" -RejectedPatch "KB2032276","MS10-048" -ApprovedPatch "KB2124261"
```
**Sortie** :  

```
ApprovalRules   : Amazon.SimpleSystemsManagement.Model.PatchRuleGroup
ApprovedPatches : {KB2124261}
BaselineId      : pb-03da896ca3b68b639
CreatedDate     : 3/3/2017 5:02:19 PM
Description     : Baseline containing all updates approved for production systems
GlobalFilters   : Amazon.SimpleSystemsManagement.Model.PatchFilterGroup
ModifiedDate    : 3/3/2017 5:22:10 PM
Name            : Production-Baseline
RejectedPatches : {KB2032276, MS10-048}
```
+  Pour plus de détails sur l'API, reportez-vous [UpdatePatchBaseline](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cet exemple ajoute deux correctifs comme étant rejetés et un correctif comme étant approuvé à un référentiel de correctifs existant.**  

```
Update-SSMPatchBaseline -BaselineId "pb-03da896ca3b68b639" -RejectedPatch "KB2032276","MS10-048" -ApprovedPatch "KB2124261"
```
**Sortie** :  

```
ApprovalRules   : Amazon.SimpleSystemsManagement.Model.PatchRuleGroup
ApprovedPatches : {KB2124261}
BaselineId      : pb-03da896ca3b68b639
CreatedDate     : 3/3/2017 5:02:19 PM
Description     : Baseline containing all updates approved for production systems
GlobalFilters   : Amazon.SimpleSystemsManagement.Model.PatchFilterGroup
ModifiedDate    : 3/3/2017 5:22:10 PM
Name            : Production-Baseline
RejectedPatches : {KB2032276, MS10-048}
```
+  Pour plus de détails sur l'API, reportez-vous [UpdatePatchBaseline](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------