Verwenden Sie Parameter, um Modulwerte anzugeben - AWS CloudFormation

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie Parameter, um Modulwerte anzugeben

In CloudFormation können Sie Ihre Stacks mithilfe von Vorlagenparametern anpassen, indem Sie bei der Stack-Erstellung oder-Aktualisierung Eingabewerte angeben. Mit diesen Parametern können Sie bestimmte Aspekte des Stacks nach Ihren Bedürfnissen ändern. Weitere Informationen zur Definition von Vorlagenparametern finden Sie unter CloudFormation Vorlage Parameters-Syntax.

In ähnlicher Weise können Module auch Parameter haben. Mit diesen Modulparametern können Sie benutzerdefinierte Werte aus der Vorlage (oder einem anderen Modul), die das Modul verwendet, in das Modul eingeben. Das Modul kann dann diese benutzerdefinierten Werte verwenden, um Eigenschaftswerte für die darin enthaltenen Ressourcen festzulegen.

Sie können auch Vorlagenparameter definieren, die Moduleigenschaften festlegen, so dass Sie Werte eingeben können, die zum Zeitpunkt des Stapelvorgangs an das Modul übergeben werden.

Wenn ein Modul ein verschachteltes Modul enthält, das seine eigenen Modulparameter hat, können Sie entweder:

  • Werte für die Parameter des verschachtelten Moduls direkt im übergeordneten Modul angeben.

  • Entsprechende Modulparameter im übergeordneten Modul definieren, die es ermöglichen, die Parameter des verschachtelten Moduls durch die Vorlage (oder das Modul) festzulegen, in der das übergeordnete Modul enthalten ist.

Verwenden von Vorlagenparametern zur Angabe von Modulparameterwerten

Das folgende Beispiel zeigt, wie Vorlagenparameter definiert werden, die Werte an ein Modul übergeben.

Diese Vorlage, die My::S3::SampleBucket::MODULE enthält, definiert einen Vorlagenparameter,,BucketName der es dem Benutzer ermöglicht, während des Stack-Vorgangs einen S3 Bucket-Namen anzugeben.

# Template containing My::S3::SampleBucket::MODULE Parameters: BucketName: Description: Name for your sample bucket Type: String Resources: MyBucket: Type: 'My::S3::SampleBucket::MODULE' Properties: BucketName: !Ref BucketName

Festlegen von Eigenschaften für Ressourcen in einem untergeordneten Modul aus dem übergeordneten Modul

Das folgende Beispiel veranschaulicht, wie Parameterwerte in einem Modul angegeben werden, das in einem anderen Modul verschachtelt ist.

Dieses erste Modul, My::S3::SampleBucketPrivate::MODULE, ist das untergeordnete Modul. Es definiert zwei Parameter: BucketName und AccessControl. Die für diese Parameter angegebenen Werte werden verwendet, um die Eigenschaften BucketName und AccessControl der Ressource AWS::S3::Bucket, die das Modul enthält, anzugeben. Unten sehen Sie das Vorlagenfragment für My::S3::SampleBucketPrivate::MODULE.

# My::S3::SampleBucketPrivate::MODULE AWSTemplateFormatVersion: 2010-09-09 Description: A sample S3 Bucket with Versioning and DeletionPolicy. Parameters: BucketName: Description: Name for the bucket Type: String AccessControl: Description: AccessControl for the bucket Type: String Resources: S3Bucket: Type: 'AWS::S3::Bucket' Properties: BucketName: !Ref BucketName AccessControl: !Ref AccessControl DeletionPolicy: Retain VersioningConfiguration: Status: Enabled

Als Nächstes ist das vorherige Modul in ein übergeordnetes Modul, , verschachtelt., My::S3::SampleBucket::MODULE. Das übergeordnete Modul, My::S3::SampleBucket::MODULE, legt die Parameter des untergeordneten Moduls auf folgende Weise fest:

  • Es setzt den Parameter AccessControl von My::S3::SampleBucketPrivate::MODULE auf Private.

  • Für BucketName definiert es einen Modulparameter, der es ermöglicht, den Bucket-Namen in der Vorlage (oder dem Modul) anzugeben, die/das My::S3::SampleBucket::MODULE enthält.

# My::S3::SampleBucket::MODULE AWSTemplateFormatVersion: 2010-09-09 Description: A sample S3 Bucket. With Private AccessControl. Parameters: BucketName: Description: Name for your sample bucket Type: String Resources: MyBucket: Type: 'My::S3::SampleBucketPrivate::MODULE' Properties: BucketName: !Ref BucketName AccessControl: Private

Angeben von Beschränkungen für Modulparameter

Modulparameter unterstützen nicht die Durchsetzung von Beschränkungen. Um eine Einschränkungsprüfung für einen Modulparameter durchzuführen, erstellen Sie einen Vorlagenparameter mit den gewünschten Einschränkungen. Dann referenzieren Sie diesen Vorlagenparameter in Ihrem Modulparameter. Weitere Informationen zur Definition von Vorlagenparametern finden Sie unter CloudFormation Vorlage Parameters-Syntax.