

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

# Definisi tugas untuk tugas startup EC2 Launch v2
<a name="ec2launch-v2-task-definitions"></a>

Setiap tugas yang dijalankan EC2 Launch v2 selama peluncuran atau startup memiliki seperangkat properti dan persyaratannya sendiri. Detail tugas mencakup pengaturan untuk seberapa sering tugas berjalan — sekali, atau selalu, tahap proses boot agen apa yang dijalankannya, sintaks, dan contoh dokumen YAMAL. Untuk informasi selengkapnya, tinjau detail tugas yang ditunjukkan dalam referensi ini.

**Topics**
+ [activateWindows](#ec2launch-v2-activatewindows)
+ [enableJumboFrames](#ec2launch-v2-enablejumboframes)
+ [enableOpenSsh](#ec2launch-v2-enableopenssh)
+ [executeProgram](#ec2launch-v2-executeprogram)
+ [executeScript](#ec2launch-v2-executescript)
+ [extendRootPartition](#ec2launch-v2-extendrootpartition)
+ [initializeVolume](#ec2launch-v2-initializevolume)
+ [optimizeEna](#ec2launch-v2-optimizeena)
+ [setAdminAccount](#ec2launch-v2-setadminaccount)
+ [setDnsSuffix](#ec2launch-v2-setdnssuffix)
+ [setHostName](#ec2launch-v2-sethostname)
+ [setWallpaper](#ec2launch-v2-setwallpaper)
+ [startSsm](#ec2launch-v2-startssm)
+ [sysprep](#ec2launch-v2-task-sysprep)
+ [writeFile](#ec2-launch-v2-writefile)

## activateWindows
<a name="ec2launch-v2-activatewindows"></a>

Mengaktifkan Windows terhadap satu set AWS KMS server. Aktivasi dilewati jika instance terdeteksi sebagai Bring-Your-Own-License (BYOL).

*Frekuensi* - sekali

*AllowedStages* — `[PreReady]`

*Masukan* — 

`activation`: (peta)

`type`: (string) tipe aktivasi yang akan digunakan, diatur ke `amazon`

*Contoh*

```
task: activateWindows
  inputs:
    activation:
    type: amazon
```

## enableJumboFrames
<a name="ec2launch-v2-enablejumboframes"></a>

Mengaktifkan Jumbo Frames, yang meningkatkan unit transmisi maksimum (MTU) dari adaptor jaringan. Untuk informasi selengkapnya, lihat [Frame jumbo (9001 MTU)](network_mtu.md#jumbo_frame_instances).

*Frekuensi* - selalu

*AllowedStages* — `[PostReady, UserData]`

*Masukan* - tidak ada

*Contoh*

```
task: enableJumboFrames
```

## enableOpenSsh
<a name="ec2launch-v2-enableopenssh"></a>

Mengaktifkan Windows OpenSSH dan menambahkan kunci publik untuk instans tersebut ke folder kunci resmi.

*Frekuensi* — sekali

*AllowedStages* — `[PreReady, UserData]`

*Masukan* - tidak ada

*Contoh*

Contoh berikut menunjukkan cara mengaktifkan OpenSSH pada sebuah instans, dan untuk menambahkan kunci publik untuk instans tersebut ke folder kunci resmi. Konfigurasi ini hanya berfungsi pada instans yang menjalankan Windows Server 2019 dan versi setelahnya.

```
task: enableOpenSsh
```

## executeProgram
<a name="ec2launch-v2-executeprogram"></a>

Menjalankan program dengan argumen opsional dan frekuensi tertentu.

**Tahapan:** Anda dapat menjalankan tugas `executeProgram` selama tahapan `PreReady`, `PostReady`, dan `UserData`

**Frekuensi:** dapat dikonfigurasi, lihat *Input*.

**Masukan**  
Bagian ini berisi satu atau lebih program untuk menjalankan **executeProgram** tugas (input). Setiap input dapat mencakup pengaturan yang dapat dikonfigurasi berikut:    
**frekuensi (string)**  
(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:  
+ `once`
+ `always`  
**jalur (string)**  
(Wajib) Jalur file untuk menjalankan executable.  
**argumen (daftar string)**  
(Opsional) Daftar argumen yang dipisahkan koma untuk diberikan kepada program sebagai input.  
**runAs (string)**  
(Wajib) Harus diatur ke `localSystem`

**Output**  
Semua tugas menulis entri logfile ke file `agent.log`. Output tambahan dari tugas `executeProgram` disimpan secara terpisah dalam folder bernama dinamis, sebagai berikut:  
`%LocalAppData%\Temp\EC2Launch#########\outputfilename.tmp`  
Jalur yang tepat ke file output disertakan dalam `agent.log` file, misalnya:  

```
Program file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\ExecuteProgramInputs.tmp
Output file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Output.tmp
Error file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Err.tmp
```
**File keluaran untuk `executeProgram` tugas tersebut**    
`ExecuteProgramInputs.tmp`  
Berisi jalur untuk executable, dan semua parameter input yang diteruskan tugas `executeProgram` padanya saat dijalankan.  
`Output.tmp`  
Berisi output runtime dari program yang dijalankan tugas `executeProgram`.  
`Err.tmp`  
Berisi pesan kesalahan runtime dari program yang dijalankan tugas `executeProgram`.

**Contoh**  
Contoh berikut menunjukkan cara menjalankan file yang dapat dieksekusi dari direktori lokal pada instans dengan tugas `executeProgram`.  
**Contoh 1: File setup yang dapat dieksekusi dengan satu argumen**  
Contoh ini menunjukkan tugas `executeProgram` yang menjalankan setup yang dapat dieksekusi dalam mode senyap.

```
task: executeProgram
  inputs:
    - frequency: always
      path: C:\Users\Administrator\Desktop\setup.exe
      arguments: ['-quiet']
```
**Contoh 2: VLC dapat dieksekusi dengan dua argumen**  
Contoh ini menunjukkan tugas `executeProgram` yang menjalankan file VLC yang dapat dieksekusi dengan dua argumen yang diteruskan sebagai parameter input.

```
task: executeProgram
  inputs:
    - frequency: always
      path: C:\vlc-3.0.11-win64.exe 
      arguments: ['/L=1033','/S']
      runAs: localSystem
```

## executeScript
<a name="ec2launch-v2-executescript"></a>

Menjalankan skrip dengan argumen opsional dan frekuensi tertentu. Perilaku skrip tergantung pada mode apa agen menjalankan skrip — inline, atau terpisah.

Inline (default)  
Agen EC2 Launch v2 menjalankan skrip satu per satu (`detach: false`). Ini adalah pengaturan default.  
Ketika skrip inline Anda mengeluarkan perintah **reset** atau **sysprep**, skrip tersebut segera berjalan dan mengatur ulang agen. Tugas saat ini selesai, kemudian agen dimatikan tanpa menjalankan tugas lebih lanjut.  
Misalnya, jika tugas yang mengeluarkan perintah akan diikuti oleh `startSsm` tugas (disertakan secara default setelah data pengguna berjalan), tugas tidak berjalan dan layanan Systems Manager tidak pernah dimulai.

Terlepas  
Agen EC2 Launch v2 menjalankan skrip secara bersamaan dengan tugas lain ()`detach: true`.  
Saat skrip terpisah Anda mengeluarkan **reset** atau **sysprep**, perintah tersebut menunggu agen selesai sebelum dijalankan. Tugas setelah executeScript masih akan berjalan.

**Tahapan:** Anda dapat menjalankan tugas `executeScript` selama tahapan `PreReady`, `PostReady`, dan `UserData`

**Frekuensi:** dapat dikonfigurasi, lihat *Input*.

**Masukan**  
Bagian ini berisi satu atau lebih skrip untuk **executeScript** tugas yang akan dijalankan (input). Setiap input dapat mencakup pengaturan yang dapat dikonfigurasi berikut:    
**frekuensi (string)**  
(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:  
+ `once`
+ `always`  
**tipe (string)**  
(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:  
+ `batch`
+ `powershell`  
**argumen (daftar string)**  
(Opsional) Daftar argumen string untuk diteruskan ke shell (bukan ke PowerShell skrip). Parameter ini tidak didukung untuk `type: batch`. Jika tidak ada argumen yang diteruskan, EC2 Launch v2 menambahkan argumen berikut secara default:`-ExecutionPolicy Unrestricted`.  
**konten (string)**  
(Wajib) Konten skrip.  
**runAs (string)**  
(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:  
+ `admin`
+ `localSystem`  
**lepas (Boolean)**  
(Opsional) Agen EC2 Launch v2 default untuk menjalankan skrip satu per satu (). `detach: false` Untuk menjalankan skrip secara bersamaan dengan tugas lain, atur nilainya ke `true` (`detach: true`).  
Kode keluar skrip (termasuk `3010`) tidak berpengaruh jika `detach` diatur ke `true`.

**Output**  
Semua tugas menulis entri logfile ke file `agent.log`. Output tambahan dari skrip yang dijalankan tugas `executeScript` disimpan secara terpisah dalam folder bernama dinamis, sebagai berikut:  
`%LocalAppData%\Temp\EC2Launch#########\outputfilename.ext`  
Jalur yang tepat ke file output disertakan dalam `agent.log` file, misalnya:  

```
Program file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\UserScript.ps1
Output file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Output.tmp
Error file is created at: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\EC2Launch123456789\Err.tmp
```
**File keluaran untuk `executeScript` tugas tersebut**    
`UserScript.ext`  
Berisi skrip yang dijalankan tugas `executeScript`. Ekstensi file tergantung pada jenis skrip yang Anda tentukan dalam `type` parameter untuk `executeScript` tugas, sebagai berikut:  
+ Jika tipenya adalah `batch`, maka ekstensi file adalah `.bat`.
+ Jika tipenya adalah `powershell`, maka ekstensi file adalah `.ps1`.  
`Output.tmp`  
Berisi output runtime dari skrip yang dijalankan tugas `executeScript`.  
`Err.tmp`  
Berisi pesan kesalahan runtime dari skrip yang dijalankan tugas `executeScript`.

**Contoh**  
Contoh berikut menunjukkan cara menjalankan skrip inline dengan tugas `executeScript`.  
**Contoh 1: File teks output Hello world**  
Contoh ini menunjukkan `executeScript` tugas yang menjalankan PowerShell skrip untuk membuat file teks “Hello world” di `C:` drive.

```
task: executeScript
  inputs:
    - frequency: always
      type: powershell
      runAs: admin
      content: |-
        New-Item -Path 'C:\PowerShellTest.txt' -ItemType File
        Set-Content 'C:\PowerShellTest.txt' "Hello world"
```
**Contoh 2: Jalankan dua skrip**  
Contoh ini menunjukkan bahwa tugas `executeScript` dapat menjalankan lebih dari satu skrip, dan tipe skrip tidak harus cocok.
Script pertama (`type: powershell`) menulis ringkasan proses yang saat ini berjalan pada instans ke file teks yang terletak di `C:` drive.  
Script kedua (`batch`) menulis informasi sistem ke `Output.tmp` file.  

```
task: executeScript
  inputs:
    - frequency: always
      type: powershell
      runAs: localSystem
      content: |
        Get-Process | Out-File -FilePath C:\Process.txt
    - frequency: always
      type: batch
      runAs: localSystem
      content: |
        systeminfo
```
**Contoh 3: Konfigurasi sistem idempotensi dengan boot ulang**  
Contoh ini menunjukkan tugas `executeScript` yang menjalankan skrip idempotensi untuk melakukan konfigurasi sistem berikut dengan boot ulang di antara setiap langkah:
+ Ganti nama komputer.
+ Bergabunglah dengan komputer ke domain.
+ Aktifkan Telnet.
Skrip memastikan bahwa setiap operasi berjalan satu kali saja. Ini mencegah loop reboot dan membuat skrip idempoten.  

```
task: executeScript
  inputs:
    - frequency: always
      type: powershell
      runAs: localSystem
      content: |-
        $name = $env:ComputerName
        if ($name -ne $desiredName) {
          Rename-Computer -NewName $desiredName
          exit 3010
        }
        $domain = Get-ADDomain
        if ($domain -ne $desiredDomain) 
        {
          Add-Computer -DomainName $desiredDomain
          exit 3010
        }
        $telnet = Get-WindowsFeature -Name Telnet-Client
        if (-not $telnet.Installed)
        {
          Install-WindowsFeature -Name "Telnet-Client"
          exit 3010 
        }
```

## extendRootPartition
<a name="ec2launch-v2-extendrootpartition"></a>

Memperluas volume root untuk menggunakan semua ruang yang tersedia di disk.

*Frekuensi* - sekali

*AllowedStages* — `[Boot]`

*Masukan* - tidak ada

*Contoh* 

```
task: extendRootPartition
```

## initializeVolume
<a name="ec2launch-v2-initializevolume"></a>

Menginisialisasi volume kosong yang dilampirkan ke instans sehingga mereka diaktifkan dan dipartisi. Agen peluncuran melewatkan inisialisasi jika mendeteksi bahwa volume tidak kosong. Volume dianggap kosong jika 4 KiB pertama dari volume adalah kosong, atau jika volume tidak memiliki [tata letak hard disk yang dapat dikenali Windows](https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ns-winioctl-drive_layout_information_ex).

Parameter `letter` input selalu diterapkan saat tugas ini berjalan, terlepas dari apakah drive sudah diinisialisasi.

Tugas `initializeVolume` melakukan tindakan berikut.
+ Atur atribut disk `offline` dan `readonly` ke false.
+ Buat sebuah partisi. Jika tidak ada jenis partisi yang ditentukan dalam parameter `partition` input, default berikut berlaku:
  + Jika ukuran disk lebih kecil dari 2 TB, atur tipe partisi ke `mbr`.
  + Jika ukuran disk 2 TB atau lebih besar, atur tipe partisi ke `gpt`.
+ Format volume sebagai NTFS.
+ Atur label volume sebagai berikut:
  + Gunakan nilai parameter input `name`, jika ditentukan.
  + Jika volumenya fana, dan tidak ada nama yang ditentukan, atur label volume ke. `Temporary Storage Z`
+ Jika volumenya singkat (SSD atau HDD - bukan Amazon EBS), buat `Important.txt` file di root volume dengan konten berikut:

  ```
  This is an 'Instance Store' disk and is provided at no additional charge.
  
  *This disk offers increased performance since it is local to the host
  *The number of Instance Store disks available to an instance vary by instance type
  *DATA ON THIS DRIVE WILL BE LOST IN CASES OF IMPAIRMENT OR STOPPING THE INSTANCE. PLEASE ENSURE THAT ANY IMPORTANT DATA IS BACKED UP FREQUENTLY
  
  For more information, please refer to: Instans menyimpan penyimpanan blok sementara untuk instans EC2.
  ```
+ Atur huruf drive ke nilai yang ditentukan dalam parameter `letter` input.

**Tahapan:** Anda dapat menjalankan `initializeVolume` tugas selama `PostReady` dan `UserData` tahapan.

**Frekuensi:** selalu.

**Masukan**  
Anda dapat mengonfigurasi parameter runtime sebagai berikut:    
**perangkat (daftar peta)**  
(Bersyarat) Konfigurasi untuk setiap perangkat yang dimulai agen peluncuran. Ini diperlukan jika parameter input `initialize` diatur ke `devices`.  
+ **perangkat (string, wajib)** - Mengidentifikasi perangkat selama pembuatan instans. Sebagai contoh, `xvdb`, `xvdf`, atau `\dev\nvme0n1`.
+ **huruf (string, opsional)** - Satu karakter. Surat drive untuk ditetapkan.
+ **nama (string, opsional)** - Nama volume yang akan ditetapkan.
+ **partisi (string, opsional)** – Tentukan salah satu nilai berikut untuk tipe partisi yang akan dibuat, atau biarkan agen peluncuran menentukan default berdasarkan ukuran volume:
  + mbr
  + gpt  
**inisialisasi (string)**  
(Wajib) Tentukan dengan tepat satu dari nilai-nilai berikut:  
+ `all`
+ `devices`

**Contoh**  
Contoh berikut menampilkan konfigurasi input sampel untuk tugas `initializeVolume` tersebut.  
**Contoh 1: Inisialisasi dua volume pada sebuah instans**  
Contoh ini menunjukkan tugas `initializeVolume` yang menginisialisasi dua volume sekunder pada sebuah instans. Perangkat yang bernama `DataVolume2` dalam contoh tersebut bersifat sementara.

```
task: initializeVolume
inputs:
  initialize: devices
  devices:
  - device: xvdb
    name: DataVolume1
    letter: D
    partition: mbr
  - device: /dev/nvme0n1
    name: DataVolume2
    letter: E
    partition: gpt
```

**Contoh 2: Inisialisasi volume EBS yang dilampirkan ke sebuah instans**  
Contoh ini menunjukkan tugas `initializeVolume` yang menginisialisasi semua volume EBS kosong yang dilampirkan ke instans.

```
task: initializeVolume
inputs:
  initialize: all
```

## optimizeEna
<a name="ec2launch-v2-optimizeena"></a>

Mengoptimalkan pengaturan ENA berdasarkan tipe instans saat ini; mungkin mem-boot ulang instans.

*Frekuensi* - selalu

*AllowedStages* — `[PostReady, UserData]`

*Masukan* - tidak ada

*Contoh* 

```
task: optimizeEna
```

## setAdminAccount
<a name="ec2launch-v2-setadminaccount"></a>

Set atribut untuk akun administrator default yang dibuat di mesin lokal.

*Frekuensi* - sekali

*AllowedStages* — `[PreReady]`

*Masukan* — 

`name`: (string) nama akun administrator

`password`: (peta)

`type`: (string) strategi untuk mengatur kata sandi, baik sebagai `static`, `random`, atau `doNothing`

`data`: (string) menyimpan data jika bidang `type` statis

*Contoh*

```
task: setAdminAccount
inputs:
  name: Administrator
  password:
  type: random
```

## setDnsSuffix
<a name="ec2launch-v2-setdnssuffix"></a>

Menambahkan sufiks DNS ke daftar sufiks pencarian. Hanya sufiks yang belum ada yang ditambahkan ke daftar. Untuk informasi selengkapnya tentang cara agen peluncuran menyetel sufiks DNS, lihat. [Konfigurasikan DNS Suffix untuk agen peluncuran EC2 Windows](launch-agents-set-dns.md)

*Frekuensi* - selalu

*AllowedStages* — `[PreReady]`

*Masukan* — 

`suffixes`: (daftar string) daftar satu atau lebih sufiks DNS yang valid; variabel substitusi yang valid adalah `$REGION` dan `$AZ`

*Contoh*

```
task: setDnsSuffix
inputs:
  suffixes:
  - $REGION.ec2-utilities.amazonaws.com
```

## setHostName
<a name="ec2launch-v2-sethostname"></a>

Menetapkan nama host komputer ke string kustom atau, jika tidak `hostName` ditentukan, IPv4 alamat pribadi.

*Frekuensi* - selalu

*AllowedStages* — `[PostReady, UserData]`

*Masukan* — 

`hostName`: (string) nama host opsional, yang harus diformat sebagai berikut.
+ Harus 15 karakter atau kurang
+ Harus hanya berisi karakter alfanumerik (a-z, A-Z, 0-9) dan tanda hubung (-).
+ Tidak boleh seluruhnya terdiri dari karakter numerik.

`reboot`: (boolean) menunjukkan apakah booti ulang diizinkan saat nama host diubah

*Contoh*

```
task: setHostName
inputs:
  reboot: true
```

## setWallpaper
<a name="ec2launch-v2-setwallpaper"></a>

Membuat file pintasan `setwallpaper.lnk` di folder startup setiap pengguna yang ada kecuali untuk `Default User`. File pintasan ini berjalan saat pengguna masuk untuk pertama kalinya setelah boot instans. File ini menyiapkan instans dengan wallpaper kustom yang menampilkan atribut instans.

Jalur file pintasan adalah:

```
$env:SystemDrive/Users/<user>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/setwallpaper.lnk
```

**catatan**  
Saat Anda menghapus tugas `setWallpaper`, file pintasan ini tidak akan terhapus. Untuk informasi selengkapnya, lihat [Tugas `setWallpaper` tidak diaktifkan tetapi wallpaper diatur ulang saat reboot](ec2launchv2-troubleshooting.md#ec2launchv2-troubleshooting-wallpaper-resets).

**Tahapan:** Anda dapat mengonfigurasi wallpaper selama tahapan `PreReady` dan `UserData`.

**Frekuensi:** `always`

**Konfigurasi wallpaper**  
Anda dapat menggunakan pengaturan berikut untuk mengonfigurasi wallpaper Anda.

**Masukan**  
Parameter masukan yang Anda berikan, dan atribut yang dapat Anda atur untuk mengonfigurasi wallpaper Anda:    
**jalur (string)**  
(Wajib) Jalur nama file dari file gambar format .jpg lokal yang akan digunakan untuk gambar wallpaper Anda.  
**atribut (daftar string)**  
(Opsional) Anda dapat menambahkan satu atau lebih atribut berikut ke wallpaper Anda:  
+ `architecture`
+ `availabilityZone`
+ `hostName`
+ `instanceId`
+ `instanceSize`
+ `privateIpAddress`
+ `publicIpAddress`
+ `ipv6Address`  
**instanceTags**  
(Opsional) Anda dapat menggunakan salah satu opsi berikut untuk pengaturan ini.  
+ **AllTags**(string) — Tambahkan semua tag instance ke wallpaper Anda.

  ```
  instanceTags: AllTags
  ```
+ **instanceTags** (daftar string) - Tentukan daftar nama tanda instans untuk ditambahkan ke wallpaper Anda. Contoh:

  ```
  instanceTags:
    - Tag 1
    - Tag 2
  ```

**Contoh**  
Contoh berikut menunjukkan input konfigurasi wallpaper yang mengatur jalur file untuk gambar latar belakang wallpaper, bersama dengan tanda instans bernama `Tag 1` dan `Tag 2`, serta atribut yang menyertakan nama host, ID instans, dan alamat IP privat serta publik untuk instans tersebut.

```
task: setWallpaper
inputs:
  path: C:\ProgramData\Amazon\EC2Launch\wallpaper\Ec2Wallpaper.jpg
  attributes:
  - hostName
  - instanceId
  - privateIpAddress
  - publicIpAddress
  instanceTags:
  - Tag 1
  - Tag 2
```

**catatan**  
Anda harus mengaktifkan tanda dalam metadata untuk menampilkan tanda pada wallpaper. Untuk informasi selengkapnya tentang tanda instans dan metadata, lihat [Lihat tag untuk instans EC2 Anda menggunakan metadata instans](work-with-tags-in-IMDS.md).

## startSsm
<a name="ec2launch-v2-startssm"></a>

Memulai layanan Systems Manager (SSM) setelah Sysprep.

*Frekuensi* - selalu

*AllowedStages* — `[PostReady, UserData]`

*Masukan* - tidak ada

*Contoh*

```
task: startSsm
```

## sysprep
<a name="ec2launch-v2-task-sysprep"></a>

Mereset status layanan, update `unattend.xml`, menonaktifkan RDP, dan menjalankan Sysprep. Tugas ini berjalan hanya setelah semua tugas lainnya selesai.

*Frekuensi* - sekali

*AllowedStages* — `[UserData]`

*Masukan* — 

`clean`: (boolean) membersihkan log instans sebelum menjalankan Sysprep

`shutdown`: (boolean) menutup instans setelah menjalankan Sysprep

*Contoh*

```
task: sysprep
inputs:
clean: true
shutdown: true
```

## writeFile
<a name="ec2-launch-v2-writefile"></a>

Menuliskan file ke tujuan.

*Frekuensi* - lihat *Input*

*AllowedStages* — `[PostReady, UserData]`

*Masukan* — 

`frequency`: (string) salah satu `once` atau `always`

`destination`: (string) jalur tempat menulis konten

`content`: (string) teks untuk ditulis ke tujuan

*Contoh*

```
task: writeFile
inputs:
  - frequency: once
  destination: C:\Users\Administrator\Desktop\booted.txt
  content: Windows Has Booted
```