

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

# Memulai proyek CloudFormation Hooks kustom
<a name="hooks-init"></a>

Langkah pertama dalam membuat proyek Hooks kustom Anda adalah memulai proyek. Anda dapat menggunakan `init` perintah CloudFormation CLI untuk memulai proyek Hooks kustom Anda.

`init`Perintah meluncurkan wizard yang memandu Anda melalui pengaturan proyek, termasuk file skema Hooks. Gunakan file skema ini sebagai titik awal untuk menentukan bentuk dan semantik Hooks Anda. Untuk informasi selengkapnya, lihat [Skema sintaks](hooks-schema.md).

**Untuk memulai proyek Hook:**

1. Buat direktori untuk proyek.

   ```
   mkdir ~/mycompany-testing-mytesthook
   ```

1. Arahkan ke direktori baru.

   ```
   cd ~/mycompany-testing-mytesthook
   ```

1. Gunakan `init` perintah CloudFormation CLI untuk memulai proyek.

   ```
   cfn init
   ```

   Perintah mengembalikan output berikut.

   ```
   Initializing new project
   ```

1. `init`Perintah meluncurkan wizard yang memandu Anda melalui pengaturan proyek. Saat diminta, masukkan `h` untuk menentukan proyek Hooks.

   ```
   Do you want to develop a new resource(r) a module(m) or a hook(h)?
   ```

   ```
   h
   ```

1. Masukkan nama untuk jenis Hook Anda.

   ```
   What's the name of your hook type?
   (Organization::Service::Hook)
   ```

   ```
   MyCompany::Testing::MyTestHook
   ```

1. Jika hanya satu plugin bahasa yang diinstal, itu dipilih secara default. Jika lebih dari satu plugin bahasa diinstal, Anda dapat memilih bahasa yang Anda inginkan. Masukkan pilihan nomor untuk bahasa pilihan Anda.

   ```
   Select a language for code generation:
   [1] java
   [2] python38
   [3] python39
   (enter an integer):
   ```

1. Siapkan kemasan berdasarkan lanaguage pengembangan yang dipilih.

------
#### [ Python ]

   (*Opsional*) Pilih Docker untuk kemasan platform-independen. Meskipun Docker tidak diperlukan, sangat disarankan untuk membuat pengemasan lebih mudah.

   ```
   Use docker for platform-independent packaging (Y/n)?
   This is highly recommended unless you are experienced with cross-platform Python packaging.
   ```

------
#### [ Java ]

   Tetapkan nama paket Java dan pilih model codegen. Anda dapat menggunakan nama paket default, atau membuat yang baru.

   ```
   Enter a package name (empty for default 'com.mycompany.testing.mytesthook'):
   ```

   ```
   Choose codegen model - 1 (default) or 2 (guided-aws):
   ```

------

*Hasil*: Anda telah berhasil memulai proyek dan telah menghasilkan file yang diperlukan untuk mengembangkan Hook. Berikut ini adalah contoh direktori dan file yang membentuk proyek Hooks untuk Python 3.8.

```
mycompany-testing-mytesthook.json
rpdk.log
README.md
requirements.txt
hook-role.yaml
template.yml
docs
    README.md
src
    __init__.py
    handlers.py
    models.py
    target_models
        aws_s3_bucket.py
```

**catatan**  
File dalam `src` direktori dibuat berdasarkan pilihan bahasa Anda. Ada beberapa komentar dan contoh yang berguna dalam file yang dihasilkan. Beberapa file, seperti`models.py`, diperbarui secara otomatis pada langkah selanjutnya ketika Anda menjalankan `generate` perintah untuk menambahkan kode runtime untuk penangan Anda.