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 :add
remove
,replace
,move
,copy
, ettest
. -
path
: chemin d'accès à la propriété de ressource, par rapport à laproperties
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::LogGroup
ressource 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 typetest
é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::LogGroup
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 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.