

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.

# Opérations relatives aux ressources de l'API Cloud Control
<a name="resource-operations"></a>

 API de commande du Cloud AWS À utiliser pour effectuer ou autre construction de verbes de commande les opérations de création, de lecture, de mise à jour, de suppression et de liste (-L) sur les ressources de votre Compte AWS.

**Topics**
+ [Conditions préalables](#resource-operations-prerequisites)
+ [Spécification des identifiants](#resource-operations-permissions)
+ [S'assurer que les demandes sont uniques](#resource-operations-idempotency)
+ [Considérations](#resource-operations-considerations)
+ [Création d'une ressource](resource-operations-create.md)
+ [Mettre à jour une ressource](resource-operations-update.md)
+ [Supprimer une ressource](resource-operations-delete.md)
+ [Découvrir des ressources](resource-operations-list.md)
+ [Lire une ressource](resource-operations-read.md)
+ [Gestion des demandes de ressources](resource-operations-manage-requests.md)
+ [Identifier les ressources avec API de commande du Cloud AWS](resource-identifier.md)

## Conditions préalables à l'utilisation des ressources avec l'API Cloud Control
<a name="resource-operations-prerequisites"></a>

Pour provisionner une ressource spécifique à l'aide de l'API Cloud Control, ce type de ressource doit prendre en charge l'API Cloud Control et être disponible pour une utilisation dans votre Compte AWS.
+ **Ressources disponibles pour votre Compte AWS**

  Pour pouvoir être utilisés dans votre compte, les types de ressources publiques doivent être activés et les types de ressources privées doivent être enregistrés. Les types de AWS ressources pris en charge sont publics et toujours activés. Pour de plus amples informations, veuillez consulter [Utilisation des types de ressources de l'API Cloud Control](resource-types.md).
+ **Ressources prenant en charge l'API Cloud Control**

  Pour obtenir la liste des types de AWS ressources compatibles avec l'API Cloud Control, consultez[Types de ressources qui prennent en charge l’API Cloud Control](supported-resources.md).

  Les types de ressources tiers, publics et privés, prennent en charge l'API Cloud Control.

  Pour savoir comment déterminer si un type de ressource spécifique prend en charge l'API Cloud Control, consultez[Déterminer si un type de ressource prend en charge l'API Cloud Control](resource-types.md#resource-types-determine-support).

Pour plus d'informations sur l'utilisation des types de ressources, consultez[Utilisation des types de ressources de l'API Cloud Control](resource-types.md).

## Spécification des informations d'identification pour l'API Cloud Control
<a name="resource-operations-permissions"></a>

Dans le cadre de l'exécution des opérations sur les AWS ressources en votre nom, l'API Cloud Control doit appeler les AWS services sous-jacents qui fournissent réellement ces ressources. Pour ce faire, l'API Cloud Control nécessite les informations d'identification nécessaires pour accéder à ces services. Vous pouvez activer l'API Cloud Control de deux manières pour obtenir ces informations d'identification :
+ **Informations d'identification utilisateur**

  Par défaut, l'API Cloud Control crée une session temporaire à l'aide de vos informations d'identification AWS utilisateur et les utilise pour effectuer les appels nécessaires aux AWS services en aval. Cette session dure jusqu'à 24 heures, après quoi tous les appels restants vers AWS l'API Cloud Control échoueront.
+ **Informations d'identification du rôle de service**

  Vous pouvez également spécifier un rôle de service que l'API Cloud Control doit assumer lors d'une opération sur une ressource, lorsque vous faites la demande de ressource. Parmi les autres avantages, la spécification d'un rôle de service permet à l'API Cloud Control de passer des appels aux AWS services sous-jacents pendant 36 heures maximum.

  Pour utiliser un rôle de service, spécifiez le `RoleArn` paramètre de la demande d'opération de ressource.

  Comme les actions de l'API Cloud Control font partie du CloudFormation service, le rôle de service que vous spécifiez est assumé par le CloudFormation service (`cloudformation.amazonaws.com`). Pour plus d'informations, voir le [rôle du CloudFormation service](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html) dans le *guide de AWS CloudFormation l'utilisateur*.

Les autorisations requises pour chaque gestionnaire de ressources sont définies dans la `handlers` section du schéma de ce type de ressource. Pour plus d'informations sur l'affichage du schéma des ressources, consultez. [Affichage des schémas de types de ressources](resource-types.md#resource-types-schemas) La `handlers` section est définie dans le [schéma de définition du type de ressource](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers).

## Garantir que les demandes d'exploitation des ressources sont uniques lors de l'utilisation de l'API Cloud Control
<a name="resource-operations-idempotency"></a>

À titre de bonne pratique, nous vous recommandons vivement de spécifier un jeton d'idempuissance avec les demandes d'opérations de création, de suppression et de mise à jour des ressources. Spécifiez de préférence un jeton qui sera unique pour chaque demande, tel qu'un identifiant unique universel (UUID). Un tel jeton garantit que les demandes peuvent être désambiguïsées dans les cas où une demande doit être réessayée.

Les `update-resource` opérations `create-resource``delete-resource`, et utilisent toutes un `client-token` paramètre, qui peut être défini sur un jeton d'idempuissance.

## Considérations relatives à l'utilisation de l'API Cloud Control
<a name="resource-operations-considerations"></a>

Nous vous recommandons de prendre en compte le comportement de service suivant lorsque vous effectuez des opérations sur les ressources à l'aide de l'API Cloud Control :
+ L'API Cloud Control exécute chaque opération sur les ressources individuellement et indépendamment de toute autre opération sur les ressources.
+ Une seule demande d'opération de ressource adressée à l'API Cloud Control peut en fait consister en plusieurs appels au service sous-jacent qui fournit la ressource. De ce fait, une demande de ressource peut échouer si elle n'est que partiellement terminée, de sorte que seules certaines des modifications demandées sont appliquées à la ressource.
+ Si une opération sur une ressource échoue à un moment quelconque, l'API Cloud Control ne rétablit pas l'état précédent de la ressource.
+ Vous ne pouvez effectuer qu'une seule opération de ressource à la fois sur une ressource donnée à l'aide de l'API Cloud Control. Cependant, la ressource peut toujours être exploitée directement, par le biais du service sous-jacent qui l'a mise en service. Nous vous déconseillons vivement cette approche car elle peut entraîner un comportement imprévisible.

# Création d'une ressource avec API de commande du Cloud AWS
<a name="resource-operations-create"></a>

Utilisez la `create-resource` commande pour créer une ressource.

## Composer l'état souhaité de la ressource
<a name="resource-operations-create-desiredstate"></a>

Pour que l'API Cloud Control crée une ressource, vous devez spécifier l'*état souhaité* de la ressource que vous souhaitez créer. L'état souhaité consiste en une liste des propriétés des ressources que vous souhaitez spécifier, ainsi que les valeurs souhaitées.

Les propriétés d'une ressource sont définies dans son schéma de type de ressource. Cela inclut si la propriété est obligatoire, les valeurs valides et d'autres contraintes de propriété. Pour plus d'informations sur l'affichage des définitions des propriétés des ressources, consultez[Affichage des schémas de types de ressources](resource-types.md#resource-types-schemas).

L'état souhaité que vous spécifiez doit être valide par rapport au schéma de type de ressource.

Par exemple, supposons que vous souhaitiez créer une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)ressource portant un nom spécifique et une politique de conservation de 90 jours. Dans un premier temps, vous devez composer l'état souhaité de la ressource, au format texte JSON.

```
{
  "LogGroupName": "CloudApiLogGroup",
  "RetentionInDays": 90
}
```

Lorsque vous appelez la `create-resource` commande, vous pouvez transmettre l'état souhaité directement en ligne sous forme de chaîne ou, pour des définitions d'état souhaitées plus complexes, spécifier un emplacement de fichier.

La commande suivante AWS Command Line Interface (AWS CLI) crée la ressource et indique dans le `desired-state` paramètre sur lequel la `RetentionInDays` propriété de la ressource est définie`90`, en plus de spécifier le nom du groupe de journaux.

```
$ aws cloudcontrol create-resource --type-name AWS::Logs::LogGroup \
    --desired-state '{"LogGroupName": "CloudApiLogGroup", "RetentionInDays":90}'
```

## Suivi de la progression d'une demande de création de ressource
<a name="resource-operations-create-progress"></a>

La `create-resource` commande renvoie un `ProgressEvent` objet que vous pouvez utiliser pour surveiller l'état actuel de votre demande de création de ressource. Pour de plus amples informations, veuillez consulter [Suivi de la progression des demandes d'exploitation des ressources](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Mettre à jour une ressource avec API de commande du Cloud AWS
<a name="resource-operations-update"></a>

Utilisez la `update-resource` commande pour mettre à jour une ressource existante. Cela inclut les ressources qui n'ont pas été fournies à l'origine à l'aide de l'API Cloud Control.

**Important**  
Nous vous déconseillons vivement d'utiliser l'API Cloud Control pour mettre à jour les ressources gérées activement par d'autres services. Cela peut entraîner des résultats inattendus. Par exemple, n'utilisez pas l'API Cloud Control pour mettre à jour les ressources qui font actuellement partie d'une CloudFormation pile.

Pour mettre à jour une ressource existante, vous devez spécifier son identifiant. Pour plus d'informations sur la détermination de l'identifiant d'une ressource, consultez[Utilisation de l'identifiant principal d'une ressource](resource-identifier.md#resource-identifier-using).

La mise à jour d'une ressource implique de modifier les valeurs des propriétés de la ressource. Les propriétés d'une ressource sont définies dans son schéma de type de ressource. Cela inclut si la propriété est obligatoire, les valeurs valides et d'autres contraintes de propriété. Pour plus d'informations sur l'affichage des définitions des propriétés des ressources, consultez[Affichage des schémas de types de ressources](resource-types.md#resource-types-schemas).

## Rédaction du document de mise à jour
<a name="resource-operations-update-patch"></a>

Pour mettre à jour une ressource, vous devez d'abord définir les mises à jour sous la forme d'une liste d'*opérations de correctif* contenues dans un document de correctif JSON. Ce document de correctif doit respecter la norme définie dans la [https://datatracker.ietf.org/doc/html/rfc6902](https://datatracker.ietf.org/doc/html/rfc6902)

Chaque opération de correctif définit une mise à jour unique d'une propriété de ressource spécifique. Les propriétés suivantes sont requises :
+ `op`: type d'opération. L'API Cloud Control prend en charge toutes les opérations définies dans la RFC 6902 :`add`,`remove`,`replace`, `move``copy`, et. `test`
+ `path`: chemin d'accès à la propriété de ressource, par rapport à la `properties` section du schéma de ressource.

En fonction de l'opération, des propriétés supplémentaires peuvent être requises. Reportez-vous à la RFC 6902 pour plus de détails.

Lorsque vous utilisez la `update-resource` commande, vous pouvez spécifier le document correctif en ligne sous forme de chaîne ou spécifier un emplacement de fichier.

L'exemple suivant met à jour la politique de rétention d'une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)ressource nommée `CloudControlApiLogGroup` à 90 jours.

```
$ aws cloudcontrol update-resource --type-name AWS::Logs::LogGroup \
    --identifier CloudControlApiLogGroup \
    --patch-document '[{"op":"replace","path":"RetentionInDays","value":90}]'
```

## Comment l'API Cloud Control met à jour les ressources
<a name="resource-operations-update-how"></a>

Pour mettre à jour une ressource, l'API Cloud Control récupère d'abord l'état actuel de la ressource, puis met à jour la ressource en deux étapes : 
+ L'API Cloud Control combine les opérations de correctif spécifiées dans la demande de mise à jour avec l'état actuel de la ressource, afin de générer l'état souhaité de la ressource après sa mise à jour. Les opérations sont appliquées séquentiellement dans l'ordre dans lequel elles apparaissent dans le document correctif. Chaque opération de la séquence est appliquée à l'état actuel de la ressource ; l'état de la ressource qui en résulte devient la cible de l'opération suivante.

  À ce stade, l'ensemble de la demande de mise à jour échoue si :
  + Une opération de correctif incluse dans la demande n'est pas valide.
  + Une opération de correctif de `op` ce type `test` échoue.

  Dans ce cas, l'intégralité de la demande de mise à jour échoue et l'API Cloud Control n'effectue aucune mise à jour de la ressource.
+ L'API Cloud Control appelle ensuite le gestionnaire de mise à jour du type de ressource pour mettre à jour la ressource.

  Si le gestionnaire de mise à jour échoue à un moment ou à un autre, *l'API Cloud Control ne rétablit pas la ressource à son état antérieur*.

Par exemple, considérez le document correctif suivant qui est défini pour mettre à jour une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)ressource. Le document contient deux opérations de correction. La première opération est de type `test` et vérifie si la politique de rétention de la ressource est définie sur 3653 jours. Dans ce cas, la ressource passe le test et l'API Cloud Control passe à l'opération suivante. Cette opération remplace la valeur actuelle de la politique de rétention par 180 jours. Si la politique de rétention de la ressource est définie sur une valeur autre que 3 653 jours, la première `test` opération échoue et l'API Cloud Control n'exécute jamais la seconde `replace` opération.

```
[
  {
    "op": "test",
    "path": "/RetentionInDays",
    "value":3653
  },
  {
    "op": "replace",
    "path": "/RetentionInDays",
    "value":180
  }
]
```

## Suivi de la progression d'une demande de ressource de mise à jour
<a name="resource-operations-update-progress"></a>

La `update-resource` commande renvoie un `ProgressEvent` objet que vous pouvez utiliser pour suivre l'état actuel de votre demande d'opération de ressource. Pour de plus amples informations, veuillez consulter [Suivi de la progression des demandes d'exploitation des ressources](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Supprimer une ressource avec API de commande du Cloud AWS
<a name="resource-operations-delete"></a>

Utilisez la `delete-resource` commande pour supprimer une ressource existante. Vous pouvez supprimer la ressource, qu'elle ait été initialement provisionnée ou non à l'aide de l'API Cloud Control.

**Important**  
Nous vous déconseillons vivement d'utiliser l'API Cloud Control pour supprimer des ressources gérées activement par d'autres services. Cela peut entraîner des résultats inattendus. Par exemple, n'utilisez pas l'API Cloud Control pour supprimer des ressources qui font actuellement partie d'une CloudFormation pile.

Pour mettre à jour une ressource existante, vous devez spécifier son identifiant. Pour plus d'informations sur la recherche de l'identifiant d'une ressource, consultez[Utilisation de l'identifiant principal d'une ressource](resource-identifier.md#resource-identifier-using).

L'exemple suivant supprime une [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)ressource portant le nom de`CloudControlApiLogGroup`.

```
$ aws cloudcontrol delete-resource \
    --type-name AWS::Logs::LogGroup --identifier CloudControlApiLogGroup
```

## Suivi de la progression d'une demande de suppression de ressource
<a name="resource-operations-delete-progress"></a>

La `delete-resource` commande renvoie un `ProgressEvent` objet que vous pouvez utiliser pour suivre l'état actuel de votre demande d'opération de ressource. Pour de plus amples informations, veuillez consulter [Suivi de la progression des demandes d'exploitation des ressources](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Découvrir des ressources avec API de commande du Cloud AWS
<a name="resource-operations-list"></a>

Utilisez la `list-resources` commande pour découvrir les ressources actuellement provisionnées dans votre Compte AWS et Région AWS. Cela inclut toutes les ressources du type de ressource spécifié, qu'elles aient été provisionnées via l'API Cloud Control, directement via le service sous-jacent ou par un autre mécanisme (comme le fait de faire partie d'une AWS CloudFormation pile).

Les informations renvoyées pour chaque ressource incluent :
+ Identifiant principal de la ressource.
+ Facultativement, il peut inclure la *partie ou la totalité* des propriétés de la ressource, détaillant l'état actuel de la ressource. Pour de plus amples informations, veuillez consulter [Affichage des schémas de types de ressources](resource-types.md#resource-types-schemas).

L'exemple suivant renvoie une liste de `AWS::Logs::LogGroup` ressources.

```
$ aws cloudcontrol list-resources --type-name AWS::Logs::LogGroup
```

L'API Cloud Control renvoie une liste des ressources de votre compte correspondant au type de ressource spécifié. Par exemple, `list-resources` renvoie l'identifiant principal et les propriétés des ressources de toutes les `AWS::Logs::LogGroup` ressources de votre compte, qu'elles aient été fournies ou non par l'API Cloud Control. Les informations renvoyées ressemblent aux suivantes, en fonction des ressources de votre compte.

```
{
  "TypeName": "AWS::Logs::LogGroup",
  "ResourceDescriptions":
  [
    {
      "Identifier": "CloudControlExample", 
      "Properties": '{"RetentionInDays":180, "LogGroupName": "CloudControlExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:CloudControlExample:*"}'
    },
    {
      "Identifier": "AnotherLogGroupResourceExample", 
      "Properties": '{"RetentionInDays":90, "LogGroupName": "AnotherLogGroupResourceExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:AnotherLogGroupResourceExample:*"}'
    }
  ]
}
```

L'exemple suivant demande une liste de `AWS::Kinesis::Stream` ressources.

```
$ aws cloudcontrol list-resources --type-name AWS::Kinesis::Stream
```

Pour les flux Kinesis, l'API Cloud Control renvoie l'identifiant principal de chaque flux, ainsi qu'un *sous-ensemble* des propriétés des ressources. Dans ce cas, une seule propriété,`Name`. Vous pouvez ensuite utiliser l'identifiant principal d'un flux avec `get-resource` pour demander l'état actuel complet de la ressource.

```
{
    "TypeName": "AWS::Kinesis::Stream",
    "ResourceDescriptions": [
        {
            "Identifier": "MyKinesisStream",
            "Properties": '{"Name": "MyKinesisStream"}'
        },
        {
            "Identifier": "AnotherStream",
            "Properties": '{"Name": "AnotherStream"}'
        }
    ]
}
```

## Ressources nécessitant des informations supplémentaires
<a name="resource-operations-list-containers"></a>

Certaines ressources nécessitent que vous fournissiez des informations supplémentaires sur les ressources que vous souhaitez répertorier dans le cadre de votre demande. Dans ces cas, vous devez utiliser le `ResourceModel` paramètre pour spécifier ces propriétés.

Le tableau ci-dessous répertorie ces ressources, ainsi que les propriétés que vous devez spécifier dans le `ResourceModel` paramètre lors des demandes de liste.


| Ressources | Propriétés requises | 
| --- | --- | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)  |  `RestApiId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)  |  `RestApiId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)  |  `TypeArn` ou `TypeName`  | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)   | `DomainName` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)   | `DomainName` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)  |  `TransitGatewayMulticastDomainId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)  |  `TransitGatewayMulticastDomainId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html) | `Cluster`, `Service` et `ID` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)  |  `ClusterName`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)  |  `ClusterName`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)  |  `LoadBalancerArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)  |  `ListenerArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)  |  `SchemaVersionId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)  |  `ProjectId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)  |  `PortalId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)  |  `IndexId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)  |  `IndexId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)  |  `FlowArn`  | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)   | `PackagingGroupId` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)   | `PackagingGroupId` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)  | `DBProxyName` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)   | `Bucket` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)   | `OutpostId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)  | `InstanceArn`, `PermissionSetArn`, `PrincipalId`, `PrincipalType`, `TargetId`, et `TargetType` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)  | `InstanceArn` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)  | `InstanceArn` et `PermissionSetArn` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)  | `Scope` | 

# Lire une ressource avec API de commande du Cloud AWS
<a name="resource-operations-read"></a>

À l'aide de l'identifiant principal d'une ressource, vous pouvez appeler la `get-resource` commande pour récupérer des informations détaillées sur la ressource. Pour plus d'informations sur la récupération de l'identifiant principal d'une ressource, consultez[Identifier les ressources avec API de commande du Cloud AWS](resource-identifier.md).

Les informations renvoyées par `get-resource` incluent le schéma de la ressource, qui détaille l'état actuel de la ressource, y compris les valeurs des propriétés, les événements pris en charge et les autorisations nécessaires. Pour de plus amples informations, veuillez consulter [Affichage des schémas de types de ressources](resource-types.md#resource-types-schemas).

L'exemple suivant renvoie l'état actuel d'une `AWS::Logs::LogGroup` ressource nommée`LogGroupResourceExample`. Pour les `AWS::Logs::LogGroup` ressources, le nom d'un groupe de journaux est son identifiant principal.

```
$ aws cloudcontrol get-resource --type-name AWS::Logs::LogGroup --identifier LogGroupResourceExample
```

# Gérer les demandes d'opérations sur les ressources avec API de commande du Cloud AWS
<a name="resource-operations-manage-requests"></a>

Les opérations sur les ressources étant asynchrones, les demandes de ressources telles que `create-resource` et `update-resource` renvoyant un `ProgressEvent` objet contenant des informations sur l'état actuel de votre ressource créent ou mettent à jour une demande.

Par exemple, une demande de création de ressource peut initialement renvoyer l'`ProgressEvent`objet suivant.

```
{
    "ProgressEvent": {
        "EventTime": "2021-08-09T18:17:15.219Z",
        "TypeName": "AWS::Logs::LogGroup",
        "OperationStatus": "IN_PROGRESS",
        "Operation": "CREATE",
        "Identifier": "LogGroupResourceExample",
        "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789"
    }
}
```

Les informations renvoyées dans l'`ProgressEvent`objet incluent un jeton de demande que vous pouvez ensuite utiliser pour suivre ou annuler une demande d'opération de ressource.

**Note**  
Les demandes d'opérations sur les ressources expirent au bout de sept jours.

## Liste des demandes d'opérations de ressources actives
<a name="resource-operations-manage-requests-list"></a>

Utilisez la `list-resource-requests` commande pour renvoyer une liste des demandes d'opérations de ressources actives pour un Compte AWS et Région AWS. Vous pouvez filtrer la liste par type de demande et par statut.

Les demandes d'opérations sur les ressources expirent au bout de sept jours.

L'exemple suivant renvoie des demandes d'opérations de ressources actives, mais il filtre toutes les demandes de création de ressources toujours en cours.

```
$ aws cloudcontrol list-resource-requests --resource-request-status-filter \
    Operations=CREATE,OperationStatuses=IN_PROGRESS
```

Les informations renvoyées pour chaque opération de ressource incluent un jeton de demande que vous pouvez ensuite utiliser pour suivre ou annuler une demande d'opération de ressource.

```
{
    "ResourceRequestStatusSummaries": [
        {
            "EventTime": "2021-08-09T18:17:16.591Z",
            "TypeName": "AWS::Logs::LogGroup",
            "OperationStatus": "SUCCESS",
            "Operation": "CREATE",
            "Identifier": "LogGroupResourceExample",
            "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789"
        }
    ]
}
```

## Suivi de la progression des demandes d'exploitation des ressources
<a name="resource-operations-manage-requests-track"></a>

Utilisez la `get-resource-request-status` commande pour suivre la progression de votre demande d'opération sur les ressources. Cette commande prend le jeton de demande inclus dans l'`ProgressEvent`objet généré lors de la demande d'opération de ressource initiale. (Vous pouvez également récupérer le jeton de demande pour une demande d'opération de ressource à l'aide de la `list-resource-requests` commande.) La `get-resource-request-status` commande renvoie un `ProgressEvent` objet mis à jour contenant des informations sur l'état actuel de la demande.

Consultez l'exemple suivant.

```
$ aws cloudcontrol get-resource-request-status \
    --request-token 5f40c577-3534-4b20-9599-0b0123456789
```



## Annulation des demandes d'opérations sur les ressources
<a name="resource-operations-manage-requests-cancel"></a>

Utilisez la `cancel-resource-request` commande pour annuler une demande d'opération de ressource en cours. Comme vous ne pouvez effectuer qu'une seule opération à la fois sur une ressource donnée, il peut arriver que vous deviez annuler l'opération de ressource en cours pour la rendre disponible afin qu'une autre opération puisse être effectuée sur celle-ci.

L'annulation d'une demande de ressource ne garantit pas que l'API Cloud Control puisse immédiatement annuler toutes les opérations sur les ressources. Au contraire, l'API Cloud Control cessera de faire d'autres appels au gestionnaire d'événements de ressources. Une seule demande d'opération de ressource adressée à l'API Cloud Control peut en fait consister en plusieurs appels au service sous-jacent qui fournit la ressource. De ce fait, l'annulation d'une demande d'opération de ressource peut laisser la demande partiellement terminée, de sorte que seules certaines des modifications demandées sont appliquées à la ressource. L'API Cloud Control ne rétablit pas l'état antérieur de la ressource.

Seules les demandes d'opérations sur les ressources dont le statut est `PENDING` ou `IN_PROGRESS` peuvent être annulées.

**Note**  
Bien que l'appel `CancelResourceRequest` annule les opérations effectuées par l'API Cloud Control, il ne met fin à aucune opération asynchrone déjà lancée sur les services en aval.

# Identifier les ressources avec API de commande du Cloud AWS
<a name="resource-identifier"></a>

Chaque type de ressource possède une propriété définie comme *identifiant principal*. La valeur de cette propriété doit être unique pour chaque ressource de ce type dans un Compte AWS et donné Région AWS. Par exemple, de nombreux types de ressources incluent une `Name` propriété qui doit être unique pour chaque ressource de ce type. Dans certains cas, l'identifiant principal est défini comme une combinaison de plusieurs propriétés qui forment ensemble un identifiant unique. En utilisant cet identifiant principal, associé au type de ressource, vous pouvez spécifier exactement sur quelle ressource vous souhaitez effectuer des opérations telles que `update-resource` ou`delete-resource`.

En outre, certains types de ressources définissent des *identifiants secondaires* qui peuvent également être utilisés pour identifier de manière unique les ressources de ce type.

Pour déterminer quelle propriété de ressource (ou combinaison de propriétés) est l'identifiant principal d'un type de ressource, reportez-vous à l'`primaryIdentifier`attribut du schéma du type de ressource. Le schéma inclut également des identifiants secondaires définis. Pour de plus amples informations, veuillez consulter [Affichage des schémas de types de ressources](resource-types.md#resource-types-schemas).

## Obtenir l'identifiant principal d'une ressource
<a name="resource-identifier-getting"></a>

Vous pouvez trouver la *valeur* d'identifiant d'une ressource spécifique à l'aide des commandes de l'API Cloud Control. Chacune des commandes suivantes renvoie un `ProgressEvent` objet contenant l'identifiant principal des ressources spécifiées :
+ 

  ```
  cancel-resource-request
  ```
+ 

  ```
  create-resource
  ```
+ 

  ```
  get-resource-request-status
  ```
+ 

  ```
  list-resource-requests
  ```

## Utilisation de l'identifiant principal d'une ressource
<a name="resource-identifier-using"></a>

Lorsque vous utilisez les commandes de l'API Cloud Control, vous pouvez spécifier l'identifiant principal ou tout identifiant secondaire défini pour le type de ressource dans son schéma de ressources. Vous ne pouvez spécifier qu'un seul identifiant. Les identifiants principaux peuvent être spécifiés sous forme de chaîne ou de JSON ; les identifiants secondaires doivent être spécifiés sous forme de JSON.

Pour les identifiants principaux composés (c'est-à-dire composés de plusieurs propriétés de ressources liées ensemble), pour spécifier l'identifiant principal sous forme de chaîne, listez les valeurs des propriétés dans l'*ordre dans lequel elles sont spécifiées dans la* définition de l'identifiant principal, en les séparant par. `|`

Par exemple, l'identifiant principal de la ressource est défini comme suit :

`"primaryIdentifier": [ "/properties/DatabaseName", "/properties/TableName" ]`

Ainsi, pour spécifier l'identifiant principal d'une ressource sous forme de chaîne, vous devez utiliser le format suivant.

`DatabaseName|TableName`

Par exemple, étant donné une base de données portant le nom de base de données `MyDatabase` et le nom de table de`MyTable`, vous spécifiez`MyDatabase|MyTable`.

Pour les identificateurs composés spécifiés au format JSON, l'ordre des propriétés n'est pas obligatoire, comme indiqué dans l'exemple suivant.

```
{
  "TableName": "MyTable",
  "DatabaseName": "MyDatabase"
}
```

Pour plus d'informations sur les identificateurs de ressources, voir [primaryidentifier](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier) dans l'*interface de ligne de CloudFormation commande User Move for Extension Development*.