Mettre à jour une ressource avec AWS Cloud Control API - Contrôle du cloud API

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.

Mettre à jour une ressource avec AWS Cloud Control API

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 Cloud ControlAPI.

Important

Nous vous déconseillons vivement d'utiliser Cloud Control API 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 Cloud Control API pour mettre à jour les ressources qui font actuellement partie d'une AWS 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, consultezUtilisation de l'identifiant principal d'une ressource.

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, consultezAffichage des schémas de types de ressources.

Rédaction du document de mise à jour

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 JSON correctif. Ce document correctif doit être conforme à la norme définie dans le patch RFC 6902 - JavaScript Object Notation (JSON).

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: le type d'opération. Cloud Control API prend en charge toutes les opérations définies dans la RFC norme 6902 : addremove,replace,move,copy, ettest.

  • 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. Référez-vous au 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 l'emplacement du fichier.

L'exemple suivant met à jour la politique de rétention d'une AWS::Logs::LogGroupressource nommée CloudControlApiLogGroup à 90 jours.

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

Comment Cloud Control API met à jour les ressources

Pour mettre à jour une ressource, Cloud Control récupère d'APIabord l'état actuel de la ressource, puis met à jour la ressource en deux étapes :

  • Cloud Control API 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 de manière séquentielle 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 Cloud Control n'APIeffectue aucune mise à jour de la ressource.

  • Cloud Control appelle API 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, Cloud Control API 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 AWS::Logs::LogGroupressource. 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 Cloud Control API 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 Cloud Control API n'exécute jamais la secondereplace.

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

Suivi de la progression d'une demande de ressource de mise à jour

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.