

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
<a name="module-using-params"></a>

In können Sie Vorlagenparameter verwenden CloudFormation, um Ihre Stacks anzupassen, indem Sie bei der Erstellung oder Aktualisierung des Stacks 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 ParametersVorlagensyntax](parameters-section-structure.md).

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
<a name="module-using-params-example-1"></a>

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
<a name="module-using-params-example-2"></a>

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, `My::S3::SampleBucket::MODULE`, verschachtelt. 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
<a name="modules-using-parameters-constraints"></a>

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 ParametersVorlagensyntax](parameters-section-structure.md).