Création - AWS CloudFormation

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.

Création

Lorsque le développeur du modèle crée une pile contenant une ressource personnalisée, CloudFormation envoie une demande au fournisseur de ressources personnalisées avec la valeur RequestType définie surCreate. Cette demande se produit spécifiquement lors de la création de la ressource personnalisée.

Pour une présentation des ressources personnalisées et de leur fonctionnement, voirRessources personnalisées.

Demande

Les requêtes de création contiennent les champs suivants :

RequestType

Create.

RequestId

Un ID unique pour la demande.

ResponseURL

La réponse URL identifie un compartiment S3 présigné qui reçoit les réponses du fournisseur de ressources personnalisées pour AWS CloudFormation.

ResourceType

Type de ressource choisi par le développeur du modèle pour la ressource personnalisée dans le modèle. CloudFormation Le nom des types de ressources personnalisées ne doit pas dépasser 60 caractères. Il peut inclure des caractères alphanumériques, ainsi que les caractères suivants : _@-.

LogicalResourceId

Le nom choisi par le développeur du modèle (ID logique) de la ressource personnalisée dans le AWS CloudFormation modèle.

StackId

Le nom de la ressource Amazon (ARN) qui identifie la pile contenant la ressource personnalisée.

ResourceProperties

Ce champ contient le contenu de l'objet Properties envoyé par le développeur du modèle. Son contenu est défini par le custom resource provider.

Exemple

{ "RequestType" : "Create", "RequestId" : "unique id for this create request", "ResponseURL" : "pre-signed-url-for-create-response", "ResourceType" : "Custom::MyCustomResourceType", "LogicalResourceId" : "name of resource in template", "StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10", "ResourceProperties" : { "key1" : "string", "key2" : [ "list" ], "key3" : { "key4" : "map" } } }

Réponses

Réussite

Lorsque la demande de création aboutit, une réponse doit être envoyée au compartiment Amazon S3 avec les champs suivants :

Status

Doit indiquer SUCCESS.

RequestId

Un ID unique pour la demande. Cette valeur de réponse doit être copiée exactement à partir de la demande.

LogicalResourceId

Le nom choisi par le développeur du modèle (ID logique) de la ressource personnalisée dans le AWS CloudFormation modèle. Cette valeur de réponse doit être copiée exactement à partir de la demande.

StackId

Le nom de la ressource Amazon (ARN) qui identifie la pile contenant la ressource personnalisée. Cette valeur de réponse doit être copiée exactement à partir de la demande.

PhysicalResourceId

Cette valeur doit être un identifiant unique pour le fournisseur de ressources personnalisées et sa taille ne peut pas dépasser 1 Ko. La valeur doit être une chaîne non vide et doit être identique pour toutes les réponses pour la même ressource.

La valeur renvoyée pour un PhysicalResourceId peut modifier les opérations de mise à jour des ressources personnalisées. Si la valeur renvoyée est la même, on considère qu'il s'agit d'une mise à jour normale. Si la valeur renvoyée est différente, AWS CloudFormation reconnaît la mise à jour comme un remplacement et envoie une demande de suppression à l'ancienne ressource. Pour de plus amples informations, veuillez consulter AWS::CloudFormation::CustomResource.

NoEcho

Facultatif. Indique s'il faut masquer la sortie de la ressource personnalisée lorsque celle-ci est récupérée à l'aide de la fonction Fn::GetAtt. Si elle est définie sur true, toutes les valeurs renvoyées sont masquées par des astérisques (*****), sauf celles stockées dans la section de modèle Metadata. AWS CloudFormation ne transforme, ne modifie ni n'expédie aucune information que vous incluez dans Metadata cette section. La valeur par défaut est false.

Pour plus d'informations sur l'utilisation NoEcho pour masquer des informations sensibles, consultez les N'incorporez pas d'informations d'identification dans vos modèles meilleures pratiques.

Data

Facultatif. Les paires nom-valeur définies par le custom resource provider à envoyer avec la réponse. Vous pouvez accéder aux valeurs fournies ici par nom dans le modèle avec Fn::GetAtt.

Important

Si les paires nom-valeur contiennent des informations sensibles, vous devez utiliser le champ NoEcho pour masquer la sortie de la ressource personnalisée. Dans le cas contraire, les valeurs sont visibles à travers APIs les valeurs des propriétés de cette surface (telles queDescribeStackEvents).

Exemple

{ "Status" : "SUCCESS", "RequestId" : "unique id for this create request (copied from request)", "LogicalResourceId" : "name of resource in template (copied from request)", "StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10 (copied from request)", "PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor", "Data" : { "keyThatCanBeUsedInGetAtt1" : "data for key 1", "keyThatCanBeUsedInGetAtt2" : "data for key 2" } }

Échec

Lorsque la requête de création échoue, une réponse doit être envoyée au compartiment S3 avec les champs suivants :

Status

Doit indiquer FAILED.

Reason

Décrit le motif d'une réponse à un échec.

RequestId

Un ID unique pour la demande. Cette valeur de réponse doit être copiée exactement à partir de la demande.

LogicalResourceId

Le nom choisi par le développeur du modèle (ID logique) de la ressource personnalisée dans le AWS CloudFormation modèle. Cette valeur de réponse doit être copiée exactement à partir de la demande.

StackId

Le nom de la ressource Amazon (ARN) qui identifie la pile contenant la ressource personnalisée. Cette valeur de réponse doit être copiée exactement à partir de la demande.

PhysicalResourceId

Cette valeur doit être un identifiant unique pour le fournisseur de ressources personnalisées et sa taille ne peut pas dépasser 1 Ko. La valeur doit être une chaîne non vide et doit être identique pour toutes les réponses pour la même ressource.

La valeur renvoyée pour un PhysicalResourceId peut modifier les opérations de mise à jour des ressources personnalisées. Si la valeur renvoyée est la même, on considère qu'il s'agit d'une mise à jour normale. Si la valeur renvoyée est différente, AWS CloudFormation reconnaît la mise à jour comme un remplacement et envoie une demande de suppression à l'ancienne ressource. Pour de plus amples informations, veuillez consulter AWS::CloudFormation::CustomResource.

Exemple

{ "Status" : "FAILED", "Reason" : "Required failure reason string", "RequestId" : "unique id for this create request (copied from request)", "LogicalResourceId" : "name of resource in template (copied from request)", "StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10 (copied from request)", "PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor" }