

**Dokumentasi ini AWS CLI hanya untuk Versi 1.**

Kami mengumumkan yang akan datang end-of-support untuk AWS CLI versi 1. Kami menyarankan Anda bermigrasi ke AWS CLI versi 2. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, lihat [pengumuman](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/). Untuk dokumentasi yang terkait dengan Versi 2 AWS CLI, lihat [Panduan Pengguna Versi 2](https://docs.aws.amazon.com/cli/latest/userguide/).

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

# AWS CLI kerangka dan file input di AWS CLI
<a name="cli-usage-skeleton"></a>

Sebagian besar AWS CLI perintah menerima mengimpor input parameter dari file. Template ini dapat dihasilkan menggunakan `generate-cli-skeleton` opsi dan kemudian diimpor menggunakan `--cli-input-yaml` parameter `--cli-input-json` .

**Topics**
+ [Tentang AWS CLI kerangka dan file input](#cli-usage-skeleton-about)
+ [Menghasilkan dan mengimpor kerangka perintah](#cli-usage-skeleton-generate)
+ [Menggabungkan file input dan parameter baris perintah](#cli-usage-skeleton-combine)

## Tentang AWS CLI kerangka dan file input
<a name="cli-usage-skeleton-about"></a>

Sebagian besar perintah AWS Command Line Interface (AWS CLI) mendukung kemampuan untuk menerima input parameter dari file menggunakan `--cli-input-yaml` parameter `--cli-input-json` s.

 Kemudian Anda dapat menjalankan perintah dengan `--cli-input-yaml` parameter `--cli-input-json` dan arahkan ke file yang diisi.

**penting**  
 AWS CLI Perintah khusus, seperti [`aws s3`perintah `aws s3`](https://docs.aws.amazon.com/cli/v1/reference/s3/index.html) tidak mendukung `--cli-input-yaml` parameter `--generate-cli-skeleton` atau `--cli-input-json` yang dijelaskan dalam topik ini. Untuk memeriksa apakah perintah tertentu mendukung parameter ini, jalankan [`help`perintah](cli-usage-help.md#cli-usage-help-command) untuk perintah yang ingin Anda gunakan atau lihat [panduan referensi AWS CLI versi 1 panduan](https://docs.aws.amazon.com/cli/v1/reference/) .

`--generate-cli-skeleton`Menghasilkan dan menampilkan template parameter yang dapat Anda sesuaikan dan gunakan sebagai input pada perintah. Template yang dihasilkan mencakup semua parameter yang didukung perintah.

`--generate-cli-skeleton`Parameter menerima salah satu nilai berikut:
+ `input`— Template yang dihasilkan mencakup semua parameter input yang diformat sebagai JSON. Ini adalah nilai default.
+ `output`- Template yang dihasilkan mencakup semua parameter output yang diformat sebagai JSON. 

Karena pada dasarnya AWS CLI adalah “pembungkus” di sekitar API layanan, file kerangka mengharapkan Anda untuk mereferensikan semua parameter dengan nama parameter API yang mendasarinya. Ini mungkin berbeda dari nama AWS CLI parameter. Misalnya, AWS CLI parameter bernama `user-name` mungkin memetakan ke parameter API AWS layanan bernama `UserName` (perhatikan kapitalisasi yang diubah dan tanda hubung yang hilang). Kami menyarankan Anda menggunakan `--generate-cli-skeleton` opsi untuk menghasilkan template dengan nama parameter “benar” untuk menghindari kesalahan. Anda dapat mereferensikan Panduan Referensi API agar layanan dapat melihat nama parameter yang diharapkan. Anda dapat menghapus parameter apa pun dari templat yang tidak diperlukan dan yang tidak ingin Anda berikan nilainya.

Misalnya, jika Anda menjalankan perintah berikut, itu akan menghasilkan template parameter untuk perintah Amazon Elastic Compute Cloud (Amazon EC2). **run-instances**

------
#### [ JSON ]

Contoh berikut menunjukkan bagaimana untuk menghasilkan template diformat dalam JSON dengan menggunakan nilai default (`input`) untuk parameter. `--generate-cli-skeleton`

```
$ aws ec2 run-instances --generate-cli-skeleton
```

```
{
    "DryRun": true,
    "ImageId": "",
    "MinCount": 0,
    "MaxCount": 0,
    "KeyName": "",
    "SecurityGroups": [
        ""
    ],
    "SecurityGroupIds": [
        ""
    ],
    "UserData": "",
    "InstanceType": "",
    "Placement": {
        "AvailabilityZone": "",
        "GroupName": "",
        "Tenancy": ""
    },
    "KernelId": "",
    "RamdiskId": "",
    "BlockDeviceMappings": [
        {
            "VirtualName": "",
            "DeviceName": "",
            "Ebs": {
                "SnapshotId": "",
                "VolumeSize": 0,
                "DeleteOnTermination": true,
                "VolumeType": "",
                "Iops": 0,
                "Encrypted": true
            },
            "NoDevice": ""
        }
    ],
    "Monitoring": {
        "Enabled": true
    },
    "SubnetId": "",
    "DisableApiTermination": true,
    "InstanceInitiatedShutdownBehavior": "",
    "PrivateIpAddress": "",
    "ClientToken": "",
    "AdditionalInfo": "",
    "NetworkInterfaces": [
        {
            "NetworkInterfaceId": "",
            "DeviceIndex": 0,
            "SubnetId": "",
            "Description": "",
            "PrivateIpAddress": "",
            "Groups": [
                ""
            ],
            "DeleteOnTermination": true,
            "PrivateIpAddresses": [
                {
                    "PrivateIpAddress": "",
                    "Primary": true
                }
            ],
            "SecondaryPrivateIpAddressCount": 0,
            "AssociatePublicIpAddress": true
        }
    ],
    "IamInstanceProfile": {
        "Arn": "",
        "Name": ""
    },
    "EbsOptimized": true
}
```

------

## Menghasilkan dan mengimpor kerangka perintah
<a name="cli-usage-skeleton-generate"></a>

**Untuk menghasilkan dan menggunakan file kerangka parameter**

1. 

------
#### [ JSON ]

   ```
   $ aws ec2 run-instances --generate-cli-skeleton input > ec2runinst.json
   ```

------

1. Buka file kerangka parameter di editor teks Anda dan hapus salah satu parameter yang tidak Anda butuhkan. Misalnya, Anda dapat menghapus template ke bawah ini. Konfirmasikan file tersebut masih valid JSON setelah Anda menghapus elemen yang tidak Anda butuhkan.

------
#### [ JSON ]

   ```
   {
       "DryRun": true,
       "ImageId": "",
       "KeyName": "",
       "SecurityGroups": [
           ""
       ],
       "InstanceType": "",
       "Monitoring": {
           "Enabled": true
       }
   }
   ```

------

   Dalam contoh ini, kita membiarkan `DryRun` parameter disetel `true` untuk menggunakan fitur dry run Amazon EC2. Fitur ini memungkinkan Anda menguji perintah dengan aman tanpa benar-benar membuat atau memodifikasi sumber daya apa pun. 

1. Isi nilai yang tersisa dengan nilai yang sesuai untuk skenario Anda. Dalam contoh ini, kami menyediakan jenis instans, nama kunci, grup keamanan, dan pengenal Amazon Machine Image (AMI) untuk digunakan. Contoh ini mengasumsikan default Wilayah AWS. AMI `ami-dfc39aef` adalah gambar Linux Amazon 64-bit yang dihosting di `us-west-2` Wilayah. Jika Anda menggunakan Wilayah yang berbeda, Anda harus [menemukan ID AMI yang benar untuk digunakan](https://aws.amazon.com/amazon-linux-ami/).

------
#### [ JSON ]

   ```
   {
       "DryRun": true,
       "ImageId": "ami-dfc39aef",
       "KeyName": "mykey",
       "SecurityGroups": [
           "my-sg"
       ],
       "InstanceType": "t2.micro",
       "Monitoring": {
           "Enabled": true
       }
   }
   ```

------

1. Jalankan perintah dengan parameter lengkap dengan meneruskan file template yang sudah ke `cli-input-yaml` parameter `--cli-input-json` dengan menggunakan `file://` awalan. AWS CLI Menafsirkan jalur menjadi relatif terhadap direktori kerja Anda saat ini. Contoh berikut AWS CLI mencari file di direktori kerja saat ini.

------
#### [ JSON ]

   ```
   $ aws ec2 run-instances --cli-input-json file://ec2runinst.json
   ```

   ```
   A client error (DryRunOperation) occurred when calling the RunInstances operation: Request would have succeeded, but DryRun flag is set.
   ```

------

   Kesalahan dry run menunjukkan bahwa JSON dengan benar dan nilai parameternya valid. Jika masalah lain dilaporkan dalam output, perbaiki dan ulangi langkah sebelumnya hingga pesan `Request would have succeeded` "" ditampilkan. 

1. Sekarang Anda dapat mengatur `DryRun` parameter `false` untuk menonaktifkan dry run.

------
#### [ JSON ]

   ```
   {
       "DryRun": false,
       "ImageId": "ami-dfc39aef",
       "KeyName": "mykey",
       "SecurityGroups": [
           "my-sg"
       ],
       "InstanceType": "t2.micro",
       "Monitoring": {
           "Enabled": true
       }
   }
   ```

------

1. Jalankan perintah, dan `run-instances` benar-benar meluncurkan instans Amazon EC2 dan menampilkan detail yang dihasilkan oleh peluncuran yang berhasil. Format output dikontrol oleh `--output` parameter, terpisah dari format template parameter input Anda.

------
#### [ JSON ]

   ```
   $ aws ec2 run-instances --cli-input-json file://ec2runinst.json --output json
   ```

   ```
   {
       "OwnerId": "123456789012",
       "ReservationId": "r-d94a2b1",
       "Groups": [],
       "Instances": [
   ...
   ```

------

## Menggabungkan file input dan parameter baris perintah
<a name="cli-usage-skeleton-combine"></a>

File input dapat digunakan untuk semua parameter, atau dapat dikombinasikan dengan parameter yang ditentukan dalam file AWS CLI. Anda dapat menggunakan fitur ini untuk pengaturan yang sering Anda gunakan kembali dalam file input, sambil menjaga pengaturan individual Anda dalam perintah itu sendiri.

`aws ec2 run-instances`Contoh berikut menggabungkan penggunaan file input dan parameter. Kami menyediakan jenis instans, nama kunci, grup keamanan, pengenal Amazon Machine Image (AMI) untuk digunakan dan mengasumsikan default Wilayah AWS. AMI `ami-dfc39aef` adalah gambar Linux Amazon 64-bit yang dihosting di `us-west-2` Wilayah. Jika Anda menggunakan Wilayah yang berbeda, Anda harus [menemukan ID AMI yang benar untuk digunakan](https://aws.amazon.com/amazon-linux-ami/).

------
#### [ JSON ]

Isi file JSON:

```
{
    "ImageId": "ami-dfc39aef",
    "KeyName": "mykey",
    "SecurityGroups": [
        "my-sg"
    ],
    "InstanceType": "t2.micro",
    "Monitoring": {
        "Enabled": true
    }
}
```

------

Contoh berikut menggunakan file input dalam kombinasi dengan `--dry-run` parameter untuk melakukan dry-run perintah untuk mengkonfirmasi apakah Anda memiliki izin yang diperlukan dan telah mengisi file dengan nilai yang valid.

------
#### [ JSON ]

```
$ aws ec2 run-instances --cli-input-json file://ec2runinst.json --dry-run
```

```
A client error (DryRunOperation) occurred when calling the RunInstances operation: Request would have succeeded, but DryRun flag is set.
```

------

Contoh berikut kemudian menggunakan file input yang sama, tetapi dengan `--no-dry-run` parameter untuk melakukan perintah secara penuh.

------
#### [ JSON ]

```
$ aws ec2 run-instances --cli-input-json file://ec2runinst.json --no-dry-run --output json
```

```
{
    "OwnerId": "123456789012",
    "ReservationId": "r-d94a2b1",
    "Groups": [],
    "Instances": [
...
```

------