

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Gunakan parameter untuk menentukan nilai modul
<a name="module-using-params"></a>

Di CloudFormation, Anda dapat menggunakan parameter template untuk menyesuaikan tumpukan Anda dengan memberikan nilai input selama pembuatan atau pembaruan tumpukan. Parameter ini memungkinkan Anda untuk mengubah aspek-aspek tertentu dari tumpukan berdasarkan kebutuhan Anda. Untuk informasi selengkapnya tentang mendefinisikan parameter template, lihat[CloudFormation Parameterssintaks template](parameters-section-structure.md).

Demikian pula, modul juga dapat memiliki parameter. Parameter modul ini memungkinkan Anda untuk memasukkan nilai kustom ke modul dari template (atau modul lain) yang menggunakannya. Modul kemudian dapat menggunakan nilai-nilai kustom ini untuk menetapkan nilai properti untuk sumber daya yang dikandungnya.

Anda juga dapat menentukan parameter template yang mengatur properti modul, sehingga Anda dapat memasukkan nilai yang diteruskan ke modul pada saat operasi tumpukan. 

Jika modul berisi modul bersarang yang memiliki parameter modulnya sendiri, Anda dapat:
+ Menentukan nilai untuk parameter modul bersarang ini langsung di modul induk.
+ Mendefinisikan parameter modul yang sesuai dalam modul induk yang memungkinkan parameter modul bersarang untuk ditetapkan oleh templat (atau modul) di mana modul induk berada.

## Menggunakan parameter templat untuk menentukan nilai parameter modul
<a name="module-using-params-example-1"></a>

Contoh berikut menunjukkan cara menentukan parameter templat yang lulus nilai modul.

Template ini berisi `My::S3::SampleBucket::MODULE` mendefinisikan parameter template,`BucketName`, yang memungkinkan pengguna untuk menentukan nama bucket S3 selama operasi stack.

```
# 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
```

## Menentukan properti pada sumber daya dalam modul anak dari modul induk
<a name="module-using-params-example-2"></a>

Contoh berikut menggambarkan cara menentukan nilai parameter dalam modul yang bersarang di modul lain.

Modul pertama ini, `My::S3::SampleBucketPrivate::MODULE`, akan menjadi modul anak. Ini mendefinisikan dua parameter: `BucketName` dan `AccessControl`. Nilai-nilai yang ditentukan untuk parameter ini digunakan untuk menentukan `BucketName` dan `AccessControl` properti `AWS::S3::Bucket` sumber daya yang dimuat modul. Berikut adalah fragmen templat untuk `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
```

Selanjutnya, modul sebelumnya bersarang dalam modul induk, `My::S3::SampleBucket::MODULE`. Modul induk, `My::S3::SampleBucket::MODULE`, menetapkan parameter modul anak dengan cara berikut:
+ Ini menetapkan `AccessControl` parameter `My::S3::SampleBucketPrivate::MODULE` untuk`Private`.
+ Untuk `BucketName`, ia mendefinisikan parameter modul, yang akan memungkinkan nama bucket untuk ditentukan dalam templat (atau modul) yang berisi `My::S3::SampleBucket::MODULE`.

```
# 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
```

## Menentukan kendala untuk parameter modul
<a name="modules-using-parameters-constraints"></a>

Parameter modul tidak mendukung penegakan kendala. Untuk melakukan pemeriksaan kendala pada parameter modul, buat parameter template dengan batasan yang diinginkan. Kemudian, referensikan parameter template itu di parameter modul Anda. Untuk informasi selengkapnya tentang mendefinisikan parameter template, lihat[CloudFormation Parameterssintaks template](parameters-section-structure.md).