Résolution de propriétés en écriture seule - 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.

Résolution de propriétés en écriture seule

Avec le générateur IaC CloudFormation, vous pouvez générer un modèle à l’aide des ressources provisionnées dans votre compte qui ne sont pas encore gérées par CloudFormation. Cependant, certaines propriétés de ressources sont désignées comme étant en écriture seule, ce qui signifie qu’elles peuvent être écrites, mais ne peuvent pas être lues par CloudFormation, par exemple un mot de passe de base de données.

Lors de la génération de modèles CloudFormation à partir de ressources existantes, les propriétés en écriture seule posent un défi. Dans la plupart des cas, CloudFormation convertit ces propriétés en paramètres dans le modèle généré. Cela vous permet de saisir les propriétés sous forme de valeurs de paramètres lors des opérations d’importation. Cependant, il existe des scénarios dans lesquels cette conversion n’est pas possible, et CloudFormation gère ces cas différemment.

Propriétés mutuellement exclusives

Certaines ressources possèdent plusieurs ensembles de propriétés qui s’excluent mutuellement, dont au moins certaines sont en écriture seule. Dans ces cas, le générateur IaC ne peut pas déterminer quel ensemble de propriétés exclusives a été appliqué à la ressource lors de sa création. Par exemple, vous pouvez fournir le code pour un AWS::Lambda::Function qui utilise l’un de ces ensembles de propriétés.

  • Code/S3Bucket, Code/S3Key, et éventuellement Code/S3ObjectVersion

  • Code/ImageUri

  • Code/ZipFile

Toutes ces propriétés sont accessibles en écriture seule. Le générateur IaC sélectionne l’un des ensembles de propriétés exclusifs et les ajoute au modèle généré. Des paramètres sont ajoutés pour chacune des propriétés en écriture seule. Les noms des paramètres incluent OneOf et leurs descriptions indiquent que la propriété correspondante peut être remplacée par d’autres propriétés exclusives. Le générateur IaC définit un type d’avertissement MUTUALLY_EXCLUSIVE_PROPERTIES pour les propriétés incluses.

Types mutuellement exclusifs

Dans certains cas, une propriété en écriture seule peut comporter plusieurs types de données. Par exemple, la propriété Body de AWS::ApiGateway::RestApi peut être un object ou un string. Dans ce cas, le générateur IaC inclut la propriété dans le modèle généré en utilisant le type de string et définit un type d’avertissement MUTUALLY_EXCLUSIVE_TYPES.

ArrayPropriétés de

Si une propriété en écriture seule est de type array, le générateur IaC ne peut pas l’inclure dans le modèle généré, car les paramètres ne peuvent être que des valeurs scalaires. Dans ce cas, la propriété est omise du modèle et le type d’avertissement UNSUPPORTED_PROPERTIES est défini.

Propriétés facultatives

Pour les propriétés en écriture seule facultatives, le générateur IaC ne peut pas détecter si la propriété a été utilisée lors de la configuration de la ressource. Dans ce cas, la propriété est omise du modèle généré et le type d’avertissement UNSUPPORTED_PROPERTIES est défini.

Avertissements et prochaines étapes

Pour déterminer quelles propriétés sont en écriture seule, vous devez consulter les avertissements renvoyés par la console du générateur IaC. La référence aux types de ressources et de propriétés AWS n’indique pas si une propriété est en écriture seule ou si elle prend en charge plusieurs types.

Vous pouvez également voir quelles propriétés sont en écriture seule à partir des schémas du fournisseur de ressources. Pour télécharger les schémas de fournisseur de ressources, reportez-vous aux schémas de fournisseur de ressources CloudFormation.

Pour résoudre les problèmes liés aux propriétés en écriture seule
  1. Ouvrez la page du générateur iAC de la console CloudFormation.

  2. Dans la barre de navigation en haut de l’écran, choisissez le Région AWS pour votre modèle.

  3. Sélectionnez l’onglet Modèles, puis choisissez le nom du modèle que vous avez créé.

  4. Dans l’onglet Définition du modèle, lorsque le modèle généré comprend des ressources avec des propriétés en écriture seule, la console du générateur IaC affiche un avertissement avec un résumé du type de problèmes. Par exemple :

    Avertissement de la console du générateur IaC concernant les propriétés en écriture seule dans le modèle généré
  5. Sélectionnez Afficher les détails de l’avertissement pour plus d’informations. Les ressources avec des propriétés en écriture seule sont identifiées par l’ID logique utilisé dans le modèle généré et le type de ressource.

    Utilisez la liste des avertissements pour identifier les ressources avec des propriétés en écriture seule et examinez chaque ressource afin de déterminer les modifications (le cas échéant) à apporter au modèle généré.

    La console du générateur IaC affiche des avertissements détaillés concernant les propriétés en écriture seule dans le modèle généré
  6. Si votre modèle doit être mis à jour pour résoudre des problèmes liés aux propriétés en écriture seule, procédez comme suit :

    1. Sélectionnez Télécharger pour télécharger une copie du modèle.

    2. Modifiez votre modèle.

    3. Une fois les modifications terminées, vous pouvez sélectionner le bouton Importer le modèle modifié pour poursuivre le processus d’importation.