Auflösen von schreibgeschützten Eigenschaften
Mit dem CloudFormation IaC-Generator können Sie eine Vorlage mit den in Ihrem Konto bereitgestellten Ressourcen erstellen, die nicht bereits von CloudFormation verwaltet werden. Bestimmte Ressourceneigenschaften sind jedoch als schreibgeschütztgekennzeichnet, d.h. sie können geschrieben, aber nicht von CloudFormation gelesen werden, beispielsweise ein Datenbankpasswort.
Bei der Erstellung von CloudFormation-Vorlagen aus vorhandenen Ressourcen stellen schreibgeschützte Eigenschaften eine Herausforderung dar. In den meisten Fällen wandelt CloudFormation diese Eigenschaften in Parameter in der generierten Vorlage um. Damit können Sie die Eigenschaften als Parameterwerte bei Importvorgängen eingeben. Es gibt jedoch Szenarien, in denen diese Konvertierung nicht möglich ist, und CloudFormation behandelt diese Fälle anders.
Sich gegenseitig ausschließende Eigenschaften
Einige Ressourcen haben mehrere Sätze von sich gegenseitig ausschließenden Eigenschaften, von denen zumindest einige schreibgeschützt sind. In diesen Fällen kann der IaC-Generator nicht feststellen, welcher Satz von exklusiven Eigenschaften bei der Erstellung auf die Ressource angewendet wurde. Sie können zum Beispiel den Code für AWS::Lambda::Function mit einer dieser Eigenschaftsgruppen angeben.
-
Code/S3Bucket,,Code/S3Keyund optionalCode/S3ObjectVersion -
Code/ImageUri -
Code/ZipFile
Alle diese Eigenschaften sind schreibgeschützt. Der IaC-Generator wählt eine der exklusiven Eigenschaftsgruppen aus und fügt sie der generierten Vorlage hinzu. Für jede der schreibgeschützten Eigenschaften werden Parameter hinzugefügt. Die Parameternamen enthalten OneOf und die Parameterbeschreibungen geben an, dass die entsprechende Eigenschaft durch andere exklusive Eigenschaften ersetzt werden kann. Der IaC-Generator setzt den Warnungstyp MUTUALLY_EXCLUSIVE_PROPERTIES für die enthaltenen Eigenschaften.
Sich gegenseitig ausschließende Typen
In manchen Fällen kann eine schreibgeschützte Eigenschaft mehrere Datentypen haben. Zum Beispiel kann die Eigenschaft Body von AWS::ApiGateway::RestApi entweder ein object oder ein stringsein. Wenn dies der Fall ist, fügt der IaC-Generator die Eigenschaft in die generierte Vorlage mit dem Typ string ein und setzt einen Warnungstyp MUTUALLY_EXCLUSIVE_TYPES.
Array-Eigenschaften
Wenn eine schreibgeschützte Eigenschaft den Typ arrayhat, kann der IaC-Generator sie nicht in die generierte Vorlage aufnehmen, da Parameter nur skalare Werte sein können. In diesem Fall wird die Eigenschaft in der Vorlage weggelassen und ein Warnungstyp UNSUPPORTED_PROPERTIES festgelegt.
Optionale Eigenschaften
Bei optionalen schreibgeschützten Eigenschaften kann der IaC-Generator nicht erkennen, ob die Eigenschaft beim Einrichten der Ressource verwendet wurde. In diesem Fall wird die Eigenschaft in der generierten Vorlage weggelassen und der Warnungstyp UNSUPPORTED_PROPERTIES wird festgelegt.
Warnungen und nächste Schritte
Um festzustellen, welche Eigenschaften schreibgeschützt sind, müssen Sie sich die Warnungen ansehen, die die Konsole des IaC-Generators ausgibt. Die Referenz AWS Ressourcen- und Eigenschaftstypen zeigt nicht an, ob eine Eigenschaft schreibgeschützt ist oder ob sie mehrere Typen unterstützt.
Alternativ können Sie in den Schemata der Ressourcenanbieter sehen, welche Eigenschaften schreibgeschützt sind. Um die Schemata der Ressourcenanbieter herunterzuladen, sehen Sie sich die CloudFormation Ressourcenanbieter-Schemataan.
So lösen Sie Probleme mit schreibgeschützten Eigenschaften
-
Öffnen Sie die Seite IaC-Generator
der CloudFormation-Konsole. -
Wählen Sie in der Navigationsleiste am oberen Rand des Bildschirms AWS-Region für Ihre Vorlage.
-
Wählen Sie die Registerkarte Vorlagen und wählen Sie dann den Namen der von Ihnen erstellten Vorlage.
-
Wenn die generierte Vorlage Ressourcen mit schreibgeschützten Eigenschaften enthält, zeigt die Konsole des IaC-Generators auf der Registerkarte Vorlagendefinition eine Warnung mit einer Zusammenfassung der Art der Probleme an. Zum Beispiel:
-
Wählen Sie Details zur Warnung anzeigen für weitere Details. Die Ressourcen mit schreibgeschützten Eigenschaften werden durch die in der generierten Vorlage verwendete logische ID und den Ressourcentyp identifiziert.
Verwenden Sie die Liste der Warnungen, um Ressourcen mit schreibgeschützten Eigenschaften zu identifizieren, und sehen Sie sich jede Ressource an, um festzustellen, welche Änderungen (wenn überhaupt) an der generierten Vorlage vorgenommen werden müssen.
-
Wenn Ihre Vorlage aktualisiert werden muss, um Probleme mit schreibgeschützten Eigenschaften zu beheben, gehen Sie wie folgt vor:
-
Wählen Sie Download um eine Kopie der Vorlage herunterzuladen.
-
Bearbeiten Sie Ihre Vorlage.
-
Wenn die Änderungen abgeschlossen sind, können Sie auf die Schaltfläche Bearbeitete Vorlage importieren klicken, um den Importvorgang fortzusetzen.
-