

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

# Penjadwal CLI
<a name="scheduler-cli-4"></a>

Penjadwal Instance pada antarmuka baris perintah AWS (CLI) memungkinkan Anda mengonfigurasi jadwal dan periode, serta memperkirakan penghematan biaya untuk jadwal tertentu.

## Prasyarat
<a name="prerequisites"></a>

CLI dalam solusi ini membutuhkan Python 3.8\+ dan boto3 versi terbaru.

## Kredensial
<a name="credentials"></a>

Untuk menggunakan CLI penjadwal, Anda harus memiliki kredensi untuk AWS CLI. Untuk informasi selengkapnya, lihat [Konfigurasi dan pengaturan file kredensi](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html) di Panduan Pengguna *AWS CLI*.

Kredensi Anda harus memiliki izin berikut:
+  `lambda:InvokeFunction`- Untuk menjalankan InstanceSchedulerMain fungsi di tumpukan penjadwal, dan untuk memperbarui informasi jadwal dan periode dalam database konfigurasi penjadwal dari baris perintah
+  `cloudformation:DescribeStackResource`- Untuk mengambil ID sumber daya fisik fungsi AWS Lambda dari tumpukan untuk menangani permintaan CLI

Permintaan yang dibuat oleh CLI penjadwal dan tanggapan dicatat di aliran log`AdminCliRequestHandler-yyyymmdd`.

**catatan**  
Jika Anda menentukan profil menggunakan argumen nama profil, profil yang Anda tentukan harus memiliki izin ini. Untuk informasi selengkapnya tentang argumen nama profil, lihat Argumen [Umum](#common-arguments).

## Instal CLI Penjadwal
<a name="install-the-scheduler-cli"></a>

1.  [Unduh](https://s3.amazonaws.com/solutions-reference/instance-scheduler-on-aws/latest/instance_scheduler_cli.zip) ***paket CLI scheduler (instance\_scheduler\_cli.zip***) dan letakkan di direktori di komputer Anda.
**penting**  
Instalasi akan gagal jika Anda tidak menempatkan file ke direktori mereka sendiri, dan kemudian menginstalnya dari direktori itu.

1. Buka zip arsip zip ke direktorinya sendiri (instance\_scheduler\_cli).

1. Dari direktori yang sama di mana Anda menempatkan paket CLI yang tidak di-zip, instal scheduler-cli ke lingkungan Anda:
**catatan**  
Scheduler-cli membutuhkan Python 3.8 atau lebih tinggi dan versi terbaru dari pip dan boto3. Jika Anda tidak memiliki semua ini diinstal pada mesin lokal Anda, silakan merujuk ke [dokumentasi resmi pip](https://pip.pypa.io/en/stable/getting-started/) untuk petunjuk instalasi sebelum mencoba menginstal Scheduler-CLI.

   ```
   pip install --no-index --find-links=instance_scheduler_cli instance_scheduler_cli
   ```

1. Verifikasi penginstalan berhasil dengan:

   ```
   scheduler-cli --help
   ```

**catatan**  
Jika disukai, [sdist dari CLI](https://s3.amazonaws.com/solutions-reference/instance-scheduler-on-aws/latest/instance_scheduler_cli-3.0.0.tar.gz) dan dapat diinstal menggunakan proses yang sama seperti di atas.

## Struktur perintah
<a name="command-structure"></a>

CLI scheduler menggunakan struktur multipart pada baris perintah. Bagian selanjutnya menentukan skrip python CLI scheduler. CLI penjadwal memiliki perintah yang menentukan operasi yang akan dilakukan pada periode dan jadwal. Argumen spesifik untuk operasi dapat ditentukan pada baris perintah dalam urutan apa pun.

```
scheduler-cli <command> <arguments>
```

## Argumen umum
<a name="common-arguments"></a>

CLI scheduler mendukung argumen berikut yang dapat digunakan semua perintah:


| Pendapat | Deskripsi | 
| --- | --- | 
|  `--stack [replaceable]<stackname>`  | Nama tumpukan penjadwal.<br /> **Penting:** Argumen ini diperlukan untuk semua perintah. | 
|  `--region [replaceable]<regionname>`  | Nama wilayah tempat tumpukan penjadwal digunakan.<br /> **Catatan:** Anda harus menggunakan argumen ini ketika konfigurasi default dan file kredensi tidak diinstal di wilayah yang sama dengan tumpukan solusi. | 
|  `--profile-name [replaceable] <profilename>`  | Nama profil yang akan digunakan untuk menjalankan perintah. Jika tidak ada nama profil yang ditentukan, profil default digunakan. | 
|  `--query`  |  JMESPath Ekspresi yang mengontrol output perintah. Untuk informasi selengkapnya tentang mengontrol output, lihat [Mengontrol Output Perintah dari Antarmuka Baris Perintah AWS](https://docs.aws.amazon.com/cli/latest/userguide/controlling-output.html) *di Panduan Pengguna AWS CLI*. | 
|  `--help`  | Menampilkan perintah dan argumen yang valid untuk CLI scheduler. Ketika digunakan dengan perintah tertentu, ini menunjukkan sub-perintah dan argumen yang valid untuk perintah itu. | 
|  `--version`  | Menunjukkan nomor versi CLI penjadwal. | 

## Perintah yang tersedia
<a name="available-commands"></a>
+  [menciptakan-periode](#create-period) 
+  [buat-jadwal](#create-schedule) 
+  [hapus-periode](#delete-period) 
+  [hapus-jadwal](#delete-schedule) 
+  [jelaskan-periode](#describe-periods) 
+  [jelaskan-jadwal](#describe-schedules) 
+  [describe-schedule-usage](#describe-schedule-usage) 
+  [periode pembaruan](#update-period) 
+  [jadwal pembaruan-](#update-schedule) 
+  [membantu](#help) 

## buat-periode
<a name="create-period"></a>

### Deskripsi
<a name="create-period-description"></a>

Menciptakan periode. Periode harus berisi setidaknya satu dari item berikut:`begintime`,`endtime`,`weekdays`,`months`, atau`monthdays`.

### Argumen
<a name="create-period-arguments"></a>

 `--name`   
+ Nama periode

  Tipe: String

  Diperlukan: Ya

 `--description`   
+ Deskripsi periode

  Tipe: String

  Wajib: Tidak

 `--begintime`   
+ Waktu ketika periode berjalan dimulai. Jika `begintime` dan tidak `endtime` ditentukan, periode berjalan adalah 00:00 - 23:59.

  Tipe: String

  Kendala: atau format `H:MM` `HH:MM`

  Wajib: Tidak

 `--endtime`   
+ Waktu ketika periode berjalan berhenti. Jika `begintime` dan tidak `endtime` ditentukan, periode berjalan adalah 00:00 - 23:59.

  Tipe: String

  Kendala: atau format `H:MM` `HH:MM`

  Wajib: Tidak

 `--weekdays`   
+ Hari-hari dalam seminggu untuk periode tersebut

  Tipe: String

  Kendala: Daftar nama hari yang disingkat koma (mon) atau angka (0). Gunakan - untuk menentukan rentang. Gunakan/untuk menentukan setiap n ^th ^ hari dalam seminggu.

  Wajib: Tidak

 `--months`   
+ Bulan-bulan periode

  Tipe: String

  Kendala: Daftar nama bulan yang disingkat koma (jan) atau angka (1). Gunakan - untuk menentukan rentang. Gunakan/untuk menentukan setiap n ^th ^ bulan.

  Wajib: Tidak

 `--monthdays`   
+ Hari-hari dalam sebulan untuk periode tersebut

  Tipe: String

  Kendala: Daftar nama bulan yang disingkat koma (jan) atau angka (1). Gunakan - untuk menentukan rentang. Gunakan/untuk menentukan setiap n ^th ^ hari dalam sebulan.

  Wajib: Tidak

### Contoh
<a name="create-period-example"></a>

```
$ scheduler-cli create-period --name "weekdays" --begintime 09:00 --endtime 18:00 --weekdays mon-fri --stack Scheduler
{
   "Period": {
      "Name": "weekdays",
      "Endtime": "18:00",
      "Type": "period",
      "Begintime": "09:00",
      "Weekdays": [
         "mon-fri"
      ]
   }
    }
```

## buat-jadwal
<a name="create-schedule"></a>

### Deskripsi
<a name="create-schedule-description"></a>

Membuat jadwal.

### Argumen
<a name="create-schedule-arguments"></a>

 `--name`   
+ Nama jadwal

  Tipe: String

  Diperlukan: Ya

 `--description`   
+ Deskripsi jadwal

  Tipe: String

  Wajib: Tidak

 `--enforced`   
+ Menegakkan status terjadwal untuk contoh

  Wajib: Tidak

 `--use-metrics`   
+ Kumpulkan CloudWatch metrik Amazon

  Wajib: Tidak

 `--periods`   
+ Daftar periode berjalan untuk jadwal. Jika beberapa periode ditentukan, solusi akan memulai sebuah instance jika salah satu periode dievaluasi. `true`

  Tipe: String

  Kendala: Daftar periode yang dibatasi koma. Gunakan `<period-name>@[replaceable]<instance type>` untuk menentukan jenis instance untuk suatu periode. Misalnya, `weekdays@t2.large`.

  Wajib: Ya

 `--retain-running`   
+ Mencegah instance dihentikan oleh solusi pada akhir periode berjalan, jika instance dimulai secara manual sebelum awal periode.

  Wajib: Tidak

 `--ssm-maintenance-window`   
+ Menambahkan jendela pemeliharaan AWS Systems Manager sebagai periode berjalan ke jadwal instans Amazon EC2.

  Tipe: String

  Wajib: Tidak

 `--do-not-stop-new-instances`   
+ Jangan menghentikan instance saat pertama kali ditandai jika sedang berjalan di luar periode berjalan

  Wajib: Tidak

 `--timezone`   
+ Zona waktu yang akan digunakan jadwal

  Tipe: Array string

  Wajib: Tidak (Jika argumen ini tidak digunakan, zona waktu default dari tumpukan solusi utama digunakan.)

 `--use-maintenance-window`   
+ Menambahkan jendela pemeliharaan Amazon RDS sebagai periode berjalan ke jadwal instans Amazon RDS, atau jendela pemeliharaan AWS Systems Manager sebagai periode berjalan ke jadwal instans Amazon EC2

  Jenis: benar/salah

  Diperlukan: Tidak (default benar)

### Contoh
<a name="create-schedule-example"></a>

```
$ scheduler-cli create-schedule --name LondonOfficeHours --periods weekdays,weekends --timezone Europe/London --stack Scheduler
{
   "Schedule": {
      "Enforced": false,
      "Name": "LondonOfficeHours",
      "StopNewInstances": true,
      "Periods": [
         "weekends",
         "weekdays"
      ],
      "Timezone": "Europe/London",
      "Type": "schedule"
   }
}
```

## hapus-periode
<a name="delete-period"></a>

 `--name`   
+ Nama periode yang berlaku

  Tipe: String

  Diperlukan: Ya

**penting**  
Jika periode digunakan dalam jadwal yang ada, Anda harus menghapusnya dari jadwal tersebut *sebelum* Anda menghapusnya.

 **Contoh** 

```
$ scheduler-cli delete-period --name weekdays --stack Scheduler
{
   "Period": "weekdays"
}
```

## hapus-jadwal
<a name="delete-schedule"></a>

### Deskripsi
<a name="delete-schedule-description"></a>

Menghapus jadwal yang ada

### Argumen
<a name="delete-schedule-arguments"></a>

 `--name`   
+ Nama jadwal yang berlaku

  Tipe: String

  Diperlukan: Ya

### Contoh
<a name="delete-schedule-example"></a>

```
$ scheduler-cli delete-schedule --name LondonOfficeHours --stack Scheduler
{
   "Schedule": "LondonOfficeHours"
}
```

## jelaskan-periode
<a name="describe-periods"></a>

### Deskripsi
<a name="describe-periods-description"></a>

Daftar periode yang dikonfigurasi untuk tumpukan Penjadwal Instance

### Argumen
<a name="describe-periods-arguments"></a>

 `--name`   
+ Nama periode tertentu yang ingin Anda jelaskan

  Tipe: String

  Wajib: Tidak

### Contoh
<a name="describe-periods-example"></a>

```
$ scheduler-cli describe-periods --stack Scheduler
{
   "Periods": [
      {
         "Name": "first-monday-in-quarter",
         "Months": [
            "jan/3"
         ],
         "Type": "period",
         "Weekdays": [
            "mon#1"
         ],
         "Description": "Every first Monday of each quarter"
      },
      {
         "Description": "Office hours",
         "Weekdays": [
            "mon-fri"
         ],
         "Begintime": "09:00",
         "Endtime": "17:00",
         "Type": "period",
         "Name": "office-hours"
      },

      {
         "Name": "weekdays",
         "Endtime": "18:00",
         "Type": "period",
         "Weekdays": [
            "mon-fri"
         ],
         "Begintime": "09:00"
      },
      {
         "Name": "weekends",
         "Type": "period",
         "Weekdays": [
            "sat-sun"
         ],
         "Description": "Days in weekend"
      }
   ]
}
```

## jelaskan-jadwal
<a name="describe-schedules"></a>

### Deskripsi
<a name="describe-schedules-description"></a>

Daftar jadwal yang dikonfigurasi untuk tumpukan Penjadwal Instance.

### Argumen
<a name="describe-schedules-arguments"></a>

 `--name`   
+ Nama jadwal tertentu yang ingin Anda jelaskan

  Tipe: String

  Wajib: Tidak

### Contoh
<a name="describe-schedules-example"></a>

```
$ scheduler-cli describe-schedules --stack Scheduler

{
   "Schedules": [
      {
         "OverrideStatus": "running",
         "Type": "schedule",
         "Name": "Running",
         "UseMetrics": false
      },
      {
         "Timezone": "UTC",
         "Type": "schedule",
         "Periods": [
            "working-days@t2.micro",
            "weekends@t2.nano"
         ],
         "Name": "scale-up-down"
      },
      {
         "Timezone": "US/Pacific",
         "Type": "schedule",
         "Periods": [
            "office-hours"
         ],
         "Name": "seattle-office-hours"
      },
      {
         "OverrideStatus": "stopped",
         "Type": "schedule",
         "Name": "stopped",
         "UseMetrics": true
      }
   ]
}
```

## describe-schedule-usage
<a name="describe-schedule-usage"></a>

### Deskripsi
<a name="describe-schedule-usage-description"></a>

Daftar semua periode yang berjalan dalam jadwal dan menghitung jam penagihan untuk instance. Gunakan perintah ini untuk mensimulasikan jadwal untuk menghitung potensi penghematan, dan periode berjalan setelah membuat atau memperbarui jadwal.

### Argumen
<a name="describe-schedule-usage-arguments"></a>

 `--name`   
+ Nama jadwal yang berlaku

  Tipe: String

  Diperlukan: Ya

 `--startdate`   
+ Tanggal mulai periode yang digunakan untuk perhitungan. Tanggal default adalah tanggal saat ini.

  Tipe: String

  Wajib: Tidak

 `--enddate`   
+ Tanggal akhir periode yang digunakan untuk perhitungan. Tanggal default adalah tanggal saat ini.

  Tipe: String

  Wajib: Tidak

### Contoh
<a name="describe-schedule-usage-example"></a>

```
$ scheduler-cli describe-schedule-usage --stack InstanceScheduler --name seattle-office-hours
{
   "Usage": {
      "2017-12-04": {
         "BillingHours": 8,
         "RunningPeriods": {
            "Office-hours": {
               "Begin": "12/04/17 09:00:00",
               "End": "12/04/17 17:00:00",
               "BillingHours": 8,
               "BillingSeconds": 28800
            }
         },
         "BillingSeconds": 28800
      }
   },
   "Schedule": "seattle-office-hours"
```

## periode pembaruan
<a name="update-period"></a>

### Deskripsi
<a name="update-period-description"></a>

Memperbarui periode yang ada

### Argumen
<a name="update-period-arguments"></a>

`update-period`Perintah mendukung argumen yang sama dengan `create-period` perintah. Untuk informasi lebih lanjut tentang argumen, lihat [perintah create period](#create-period).

**penting**  
Jika Anda tidak menentukan argumen, argumen itu akan dihapus dari periode.

## jadwal pembaruan-
<a name="update-schedule"></a>

### Deskripsi
<a name="update-schedule-description"></a>

Memperbarui jadwal yang ada

### Argumen
<a name="update-schedule-arguments"></a>

`update-schedule`Perintah mendukung argumen yang sama dengan `create-schedule` perintah. Untuk informasi lebih lanjut tentang argumen, lihat [perintah create schedule](#create-schedule).

**penting**  
Jika Anda tidak menentukan argumen, argumen itu akan dihapus dari jadwal.

## bantuan
<a name="help"></a>

### Deskripsi
<a name="help-description"></a>

Menampilkan daftar perintah dan argumen yang valid untuk CLI scheduler.

### Contoh
<a name="help-example"></a>

```
$ scheduler-cli --help
usage: scheduler-cli [-h] [--version]
                     {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule}
                     ...

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit

subcommands:
  Valid subcommands

  {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule}
                        Commands help
    create-period       Creates a period
    create-schedule     Creates a schedule
    delete-period       Deletes a period
    delete-schedule     Deletes a schedule
    describe-periods    Describes configured periods
    describe-schedule-usage
                        Calculates periods and billing hours in which
                        instances are running
    describe-schedules  Described configured schedules
    update-period       Updates a period
    update-schedule     Updates a schedule
```

Ketika digunakan dengan perintah tertentu, `--help` argumen menunjukkan sub-perintah dan argumen yang valid untuk perintah itu.

### Contoh perintah khusus
<a name="help-example-specific-command"></a>

```
$ scheduler-cli describe-schedules --help
usage: scheduler-cli describe-schedules [-h] [--name NAME] [--query QUERY]
                                        [--region REGION] --stack STACK

optional arguments:
  -h, --help         show this help message and exit
  --name NAME        Name of the schedule
  --query QUERY      JMESPath query to transform or filter the result
  --region REGION    Region in which the Instance Scheduler stack is
                        deployed
  --stack STACK, -s STACK
                     Name of the Instance Scheduler stack
```