Elemen dan parameter data - AWS Systems Manager

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

Elemen dan parameter data

Topik ini menjelaskan elemen data yang digunakan dalam SSM dokumen. Versi skema yang digunakan untuk membuat dokumen mendefinisikan sintaks dan elemen data yang diterima dokumen. Kami merekomendasikan Anda untuk menggunakan skema versi 2.2 atau yang terbaru untuk dokumen perintah. Runbook otomatisasi menggunakan skema versi 0.3. Selain itu, runbook Otomatisasi mendukung penggunaan penurunan harga, bahasa markup, yang memungkinkan Anda menambahkan deskripsi gaya wiki ke dokumen dan langkah-langkah individual dalam dokumen. Untuk informasi selengkapnya tentang penggunaan Markdown, lihat Menggunakan Markdown di Konsol di Panduan AWS Management Console Memulai.

Bagian berikut menjelaskan elemen data yang dapat Anda sertakan dalam SSM dokumen.

Elemen data tingkat atas

schemaVersion

Versi skema untuk digunakan.

Jenis: Versi

Wajib: Ya

deskripsi

Informasi yang Anda berikan untuk menjelaskan tujuan dokumen. Anda juga dapat menggunakan bidang ini untuk menentukan apakah parameter memerlukan nilai untuk menjalankan dokumen, atau jika memberikan nilai untuk parameter adalah opsional. Parameter yang diperlukan dan opsional dapat dilihat pada contoh di seluruh topik ini.

Tipe: String

Wajib: Tidak

parameter

Struktur yang menentukankan parameter dokumen menerima.

Untuk parameter yang sering Anda gunakan, kami sarankan Anda menyimpan parameter tersebut di Parameter Store, suatu kemampuan AWS Systems Manager. Kemudian, Anda dapat menentukan parameter dalam dokumen Anda yang menjadi referensi Parameter Store parameter sebagai nilai defaultnya. Untuk mereferensikan a Parameter Store parameter, menggunakan sintaks berikut.

{{ssm:parameter-name}}

Anda dapat menggunakan parameter yang mereferensikan Parameter Store parameter dengan cara yang sama seperti parameter dokumen lainnya. Dalam contoh berikut, nilai default dari commands parameter adalah Parameter Store parametermyShellCommands. Dengan menentukan commands parameter sebagai runCommand string, dokumen menjalankan perintah yang disimpan dalam myShellCommands parameter.

YAML
--- schemaVersion: '2.2' description: runShellScript with command strings stored as Parameter Store parameter parameters: commands: type: StringList description: "(Required) The commands to run on the instance." default: ["{{ ssm:myShellCommands }}"] mainSteps: - action: aws:runShellScript name: runShellScriptDefaultParams inputs: runCommand: - "{{ commands }}"
JSON
{ "schemaVersion": "2.2", "description": "runShellScript with command strings stored as Parameter Store parameter", "parameters": { "commands": { "type": "StringList", "description": "(Required) The commands to run on the instance.", "default": ["{{ ssm:myShellCommands }}"] } }, "mainSteps": [ { "action": "aws:runShellScript", "name": "runShellScriptDefaultParams", "inputs": { "runCommand": [ "{{ commands }}" ] } } ] }
catatan

Anda dapat referensi String dan StringList Parameter Store parameter di parameters bagian dokumen Anda. Anda tidak bisa referensi SecureString Parameter Store parameter.

Untuk informasi lebih lanjut tentang Parameter Store, lihat AWS Systems Manager Parameter Store.

Jenis: Struktur

parameters menerima bidang dan nilai-nilai berikut:

  • type: Nilai yang (Diperlukan) diizinkan mencakup hal berikut: String, StringList, Integer Boolean, MapList, dan StringMap. Untuk melihat contoh dari setiap jenis, lihat SSMtypecontoh parameter dokumen di bagian berikutnya.

    catatan

    Dokumen tipe perintah hanya mendukung tipe String dan StringList parameter.

  • description: (Opsional) Deskripsi parameter.

  • default: (Opsional) Nilai default dari parameter atau referensi ke parameter di Parameter Store.

  • allowedValues: (Opsional) Array nilai diperbolehkan untuk parameter. Menentukan nilai yang diperbolehkan untuk parameter memvalidasi input pengguna. Jika pengguna input nilai tidak diperbolehkan, eksekusi gagal untuk memulai.

    YAML
    DirectoryType: type: String description: "(Required) The directory type to launch." default: AwsMad allowedValues: - AdConnector - AwsMad - SimpleAd
    JSON
    "DirectoryType": { "type": "String", "description": "(Required) The directory type to launch.", "default": "AwsMad", "allowedValues": [ "AdConnector", "AwsMad", "SimpleAd" ] }
  • allowedPattern: (Opsional) Sebuah ekspresi reguler yang memvalidasi apakah input pengguna cocok dengan pola yang ditetapkan untuk parameter. Jika input pengguna tidak cocok dengan pola yang diperbolehkan, eksekusi gagal untuk memulai.

    catatan

    Systems Manager melakukan dua validasi untuk. allowedPattern Validasi pertama dilakukan dengan menggunakan pustaka regex Java pada API tingkat saat Anda menggunakan dokumen. Validasi kedua dilakukan pada SSM Agent dengan menggunakan pustaka regexp GO sebelum memproses dokumen.

    YAML
    InstanceId: type: String description: "(Required) The instance ID to target." allowedPattern: "^i-[a-z0-9]{8,17}$" default: ''
    JSON
    "InstanceId": { "type": "String", "description": "(Required) The instance ID to target.", "allowedPattern": "^i-[a-z0-9]{8,17}$", "default": "" }
  • displayType: (Opsional) Digunakan untuk menampilkan baik a textfield atau a textarea di AWS Management Console. textfieldadalah kotak teks satu baris. textareaadalah area teks multi-baris.

  • minItems: (Opsional) Jumlah minimum item yang diperbolehkan.

  • maxItems: (Opsional) Jumlah maksimum item yang diperbolehkan.

  • minChars: (Opsional) Jumlah minimum karakter parameter yang diperbolehkan.

  • maxChars: (Opsional) Jumlah maksimum karakter parameter yang diperbolehkan.

Wajib: Tidak

variabel

(Hanya skema versi 0.3) Nilai yang dapat Anda referensikan atau perbarui di seluruh langkah di runbook Otomatisasi. Variabel mirip dengan parameter, tetapi berbeda dalam cara yang sangat penting. Nilai parameter statis dalam konteks runbook, tetapi nilai variabel dapat diubah dalam konteks runbook. Saat memperbarui nilai variabel, tipe data harus cocok dengan tipe data yang ditentukan. Untuk informasi tentang memperbarui nilai variabel dalam otomatisasi, lihat aws:updateVariable— Memperbarui nilai untuk variabel runbook

Jenis: Boolean | Integer | | String MapList | | StringList StringMap

Wajib: Tidak

YAML
variables: payload: type: StringMap default: "{}"
JSON
{ "variables": [ "payload": { "type": "StringMap", "default": "{}" } ] }
runtimeConfig

(Hanya skema versi 1.2) Konfigurasi untuk instans seperti yang diterapkan oleh satu atau beberapa plugin Systems Manager. Plugin tidak dijamin untuk dapat berjalan secara berurutan.

Jenis: Kamus <String, > PluginConfiguration

Wajib: Tidak

mainSteps

(Hanya skema versi 0.3, 2.0, dan 2.2) Sebuah objek yang dapat mencakup beberapa langkah (plugin). Plugin ditentukan dalam langkah-langkah. Langkah-langkah yang dijalankan secara berurutan seperti yang tercantum dalam dokumen.

Jenis: Kamus <String, > PluginConfiguration

Wajib: Ya

keluaran

(Hanya skema versi 0.3) Data yang dihasilkan oleh eksekusi dokumen ini yang dapat digunakan dalam proses lainnya. Misalnya, jika dokumen Anda membuat dokumen baru AMI, Anda dapat menentukan "CreateImage. ImageIdSebagai nilai output, dan kemudian menggunakan output ini untuk membuat instans baru dalam eksekusi otomatisasi berikutnya. Untuk informasi selengkapnya tentang opsi, lihat Menggunakan output tindakan sebagai input.

Jenis: Kamus <String, > OutputConfiguration

Wajib: Tidak

file

(Hanya skema versi 0.3) File skrip (dan checksum mereka) dilampirkan pada dokumen dan dijalankan selama eksekusi otomatisasi. Hanya berlaku untuk dokumen yang mencakup tindakan aws:executeScript dan lampiran yang telah ditentukan dalam satu atau beberapa langkah.

Untuk mempelajari tentang runtime yang didukung oleh runbook Otomasi, lihat. aws:executeScript – Jalankan skrip Untuk informasi selengkapnya tentang termasuk skrip di runbook otomatisasi, lihat Menggunakan skrip di runbook dan Pengalaman desain visual untuk runbook Otomasi.

Saat membuat runbook Otomasi dengan lampiran, Anda juga harus menentukan file lampiran menggunakan --attachments opsi (untuk AWS CLI) atau Attachments (untuk API danSDK). Anda dapat menentukan lokasi file untuk kedua file lokal dan file yang disimpan di bucket Amazon Simple Storage Service (Amazon S3). Untuk informasi selengkapnya, lihat Lampiran di AWS Systems Manager API Referensi.

YAML
--- files: launch.py: checksums: sha256: 18871b1311b295c43d0f...[truncated]...772da97b67e99d84d342ef4aEXAMPLE
JSON
"files": { "launch.py": { "checksums": { "sha256": "18871b1311b295c43d0f...[truncated]...772da97b67e99d84d342ef4aEXAMPLE" } } }

Jenis: Kamus <String, > FilesConfiguration

Wajib: Tidak

SSMtypecontoh parameter dokumen

Jenis parameter dalam SSM dokumen bersifat statis. Ini berarti jenis parameter tidak dapat diubah setelah ditentukan. Saat menggunakan parameter dengan plugin SSM dokumen, jenis parameter tidak dapat diubah secara dinamis dalam input plugin. Misalnya, Anda tidak dapat mereferensikan parameter Integer dalam input runCommand dari plugin aws:runShellScript karena input ini menerima string atau daftar string. Untuk menggunakan parameter pada input plugin, jenis parameter harus sepadan dengan jenis yang diterima. Misalnya, Anda harus menentukan jenis parameter Boolean untuk input allowDowngrade dari plugin aws:updateSsmAgent. Jika jenis parameter Anda tidak cocok dengan jenis input untuk plugin, SSM dokumen gagal untuk memvalidasi dan sistem tidak dapat membuat dokumen. Ini juga berlaku saat menggunakan parameter hilir dalam input untuk plugin lain atau AWS Systems Manager tindakan Otomasi. Misalnya, Anda tidak dapat mereferensikan StringList parameter dalam documentParameters input aws:runDocument plugin. documentParametersInput menerima peta string meskipun jenis parameter SSM dokumen hilir adalah parameter dan cocok dengan StringList parameter yang Anda referensikan.

Saat menggunakan parameter dengan Tindakan otomatisasi, jenis parameter tidak divalidasi saat Anda membuat SSM dokumen dalam banyak kasus. Hanya saat Anda menggunakan aws:runCommand tindakan, jenis parameter divalidasi saat Anda membuat SSM dokumen. Dalam semua kasus lain, validasi parameter terjadi selama eksekusi otomatisasi ketika input tindakan diverifikasi sebelum menjalankan tindakan. Misalnya, jika parameter input Anda adalah a String dan Anda mereferensikannya sebagai nilai untuk MaxInstanceCount input aws:runInstances tindakan, SSM dokumen akan dibuat. Namun, ketika menjalankan dokumen, otomatisasi gagal sementara memvalidasi Tindakan aws:runInstances karena input MaxInstanceCount memerlukan Integer.

Berikut ini adalah contoh dari setiap parameter type.

Tali

Urutan karakter Unicode nol atau lebih dalam tanda kutip. Misalnya, "i-1234567890abcdef0". Gunakan garis miring terbalik untuk keluar.

YAML
--- InstanceId: type: String description: "(Optional) The target EC2 instance ID."
JSON
"InstanceId":{ "type":"String", "description":"(Optional) The target EC2 instance ID." }
StringList

Daftar item String dipisahkan dengan koma. Sebagai contoh, ["cd ~", "pwd"].

YAML
--- commands: type: StringList description: "(Required) Specify a shell script or a command to run." default: "" minItems: 1 displayType: textarea
JSON
"commands":{ "type":"StringList", "description":"(Required) Specify a shell script or a command to run.", "minItems":1, "displayType":"textarea" }
Boolean

Hanya menerima true atau false. Tidak menerima "benar" atau 0.

YAML
--- canRun: type: Boolean description: '' default: true
JSON
"canRun": { "type": "Boolean", "description": "", "default": true }
Bulat

Nomor integral. Tidak menerima angka desimal, misalnya 3.14159, atau angka yang dalam tanda kutip, misalnya "3".

YAML
--- timeout: type: Integer description: The type of action to perform. default: 100
JSON
"timeout": { "type": "Integer", "description": "The type of action to perform.", "default": 100 }
StringMap

Sebuah pemetaan kunci untuk nilai-nilai. Kunci dan nilai harus berupa string. Misalnya, {"Env": "Prod"}.

YAML
--- notificationConfig: type: StringMap description: The configuration for events to be notified about default: NotificationType: 'Command' NotificationEvents: - 'Failed' NotificationArn: "$dependency.topicArn" maxChars: 150
JSON
"notificationConfig" : { "type" : "StringMap", "description" : "The configuration for events to be notified about", "default" : { "NotificationType" : "Command", "NotificationEvents" : ["Failed"], "NotificationArn" : "$dependency.topicArn" }, "maxChars" : 150 }
MapList

Daftar StringMap objek.

YAML
blockDeviceMappings: type: MapList description: The mappings for the create image inputs default: - DeviceName: "/dev/sda1" Ebs: VolumeSize: "50" - DeviceName: "/dev/sdm" Ebs: VolumeSize: "100" maxItems: 2
JSON
"blockDeviceMappings":{ "type":"MapList", "description":"The mappings for the create image inputs", "default":[ { "DeviceName":"/dev/sda1", "Ebs":{ "VolumeSize":"50" } }, { "DeviceName":"/dev/sdm", "Ebs":{ "VolumeSize":"100" } } ], "maxItems":2 }

Melihat konten dokumen SSM perintah

Untuk melihat parameter pratinjau dan opsional yang diperlukan untuk dokumen AWS Systems Manager (SSM) Command, selain tindakan dokumen yang dijalankan, Anda dapat melihat konten dokumen di konsol Systems Manager.

Untuk melihat konten dokumen SSM perintah
  1. Buka AWS Systems Manager konsol di https://console.aws.amazon.com/systems-manager/.

  2. Di panel navigasi, pilih Dokumen.

  3. Di kotak pencarian, pilih Jenis dokumen, dan kemudian pilih Perintah.

  4. Pilih nama dokumen, dan kemudian pilih tab Konten.

  5. Di bidang konten, tinjau parameter dan langkah-langkah tindakan yang tersedia untuk dokumen.

    Misalnya, gambar berikut menunjukkan bahwa (1) version dan (2) allowDowngrade adalah parameter opsional untuk dokumen AWS-UpdateSSMAgent, dan bahwa tindakan pertama yang dijalankan oleh dokumen adalah (3) aws:updateSsmAgent.

    Melihat konten SSM dokumen di konsol Systems Manager