

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Komponen dokumen
<a name="documents-components"></a>

Bagian ini mencakup informasi tentang komponen yang membentuk dokumen SSM.

**Topics**
+ [Skema, fitur, dan contoh](documents-schemas-features.md)
+ [Elemen dan parameter data](documents-syntax-data-elements-parameters.md)
+ [Referensi plugin dokumen perintah](documents-command-ssm-plugin-reference.md)

# Skema, fitur, dan contoh
<a name="documents-schemas-features"></a>

AWS Systems Manager (SSM) dokumen menggunakan versi skema berikut.
+ Jenis dokumen `Command` dapat menggunakan skema versi 1.2, 2.0, dan 2.2. Jika Anda menggunakan skema dokumen 1.2, kami sarankan Anda membuat dokumen yang menggunakan skema versi 2.2.
+ Jenis dokumen `Policy` harus menggunakan skema versi 2.0 atau yang lebih baru.
+ Jenis dokumen `Automation` harus menggunakan skema versi 0.3.
+ Dokumen jenis `Session` harus menggunakan skema versi 1.0.
+ Anda dapat membuat dokumen di JSON atau YAML.

Untuk informasi selengkapnya tentang skema `Session` dokumen, lihat[Skema dokumen sesi](session-manager-schema.md).

Dengan menggunakan versi skema terbaru untuk dokumen `Command` dan `Policy`, Anda dapat memanfaatkan fitur berikut.


**Fitur dokumen skema versi 2.2**  

| Fitur | Detail | 
| --- | --- | 
|  Mengedit dokumen  |  Dokumen sekarang dapat diperbarui. Dengan versi 1.2, setiap update dokumen yang diperlukan yang Anda simpan dengan nama yang berbeda.  | 
|  Versioning otomatis  |  Setiap pembaruan ke dokumen menciptakan versi baru. Ini bukan versi skema, tetapi versi dokumen.  | 
|  Versi default  |  Jika Anda memiliki beberapa versi dokumen, Anda dapat menentukan yang mana versi dokumen default.  | 
|  Pengurutan  |  Plugin atau *Langkah* dalam dokumen yang dijalankan sesuai urutan yang Anda tentukan.  | 
|  Dukungan lintas platform  |  Dukungan lintas platform mengizinkan Anda untuk menentukan sistem operasi yang berbeda untuk plugin yang berbeda dalam dokumen SSM yang sama. Dukungan lintas platform menggunakan parameter `precondition` dalam langkahnya.   | 
| Interpolasi parameter | Interpolasi berarti menyisipkan atau mengganti nilai variabel ke dalam string. Anggap saja sebagai mengisi ruang kosong dengan nilai aktual sebelum string digunakan. Dalam konteks dokumen SSM, interpolasi parameter memungkinkan parameter string diinterpolasi ke dalam variabel lingkungan sebelum eksekusi perintah, memberikan keamanan yang lebih baik terhadap injeksi perintah. Ketika diatur ke`ENV_VAR`, agen menciptakan variabel lingkungan bernama `SSM_parameter-name` yang berisi nilai parameter. | 

**catatan**  
Anda harus AWS Systems Manager SSM Agent terus memperbarui instans dengan versi terbaru untuk menggunakan fitur Systems Manager dan fitur dokumen SSM yang baru. Untuk informasi selengkapnya, lihat [Memperbarui SSM Agent penggunaan Run Command](run-command-tutorial-update-software.md#rc-console-agentexample).

Tabel berikut mencantumkan perbedaan antara versi utama skema.


****  

| Versi 1.2 | Versi 2.2 (versi terbaru) | Detail | 
| --- | --- | --- | 
|  runtimeConfig  |  mainSteps  |  Di versi 2.2, `mainSteps` menggantikan bagian `runtimeConfig`. Bagian `mainSteps` memungkinkan Systems Manager untuk menjalankan langkah-langkah secara berurutan.  | 
|  properti  |  masukan  |  Di versi 2.2, bagian `inputs` menggantikan bagian `properties`. Bagian `inputs` menerima langkah-langkah parameter.  | 
|  perintah  |  runCommand  |  Di versi 2.2,bagian `inputs` mengambil parameter `runCommand` bukan parameter `commands`.  | 
|  id  |  tindakan  |  Versi 2.2, `Action` menggantikan `ID`. Ini hanya perubahan nama.  | 
|  tidak berlaku  |  nama  |  Versi 2.2, `name` adalah nama yang ditetapkan oleh pengguna untuk langkah.  | 

**Menggunakan parameter prasyarat**  
Dengan skema versi 2.2 atau yang lebih baru, Anda dapat menggunakan parameter `precondition` untuk menentukan target sistem operasi untuk setiap plugin atau untuk memvalidasi parameter input yang telah Anda tetapkan dalam dokumen SSM Anda. Parameter `precondition` mendukung referensi parameter input dokumen SSM Anda, dan `platformType` menggunakan nilai dari `Linux`, `MacOS`, dan `Windows`. Hanya `StringEquals` operator yang didukung.

Untuk dokumen yang menggunakan skema versi 2.2 atau yang terbaru, jika `precondition` tidak ditentukan, setiap plugin yang dijalankan atau dilewati berdasarkan kompatibilitas plugin dengan sistem operasi. Kompatibilitas plugin dengan sistem operasi dievaluasi sebelum `precondition`. Untuk dokumen yang menggunakan skema 2.0 atau sebelumnya, plugin yang tidak kompatibel akan membuang kesalahan.

Sebagai contoh, dalam dokumen skema versi 2.2, jika `precondition` tidak dispesifikasikan dan plugin `aws:runShellScript` yang terdaftar, maka langkah yang berjalan pada instans Linux, tetapi melewati sistem instans Windows Server karena `aws:runShellScript` tidak kompatibel dengan instans Windows Server. Namun, untuk dokumen skema versi 2.0, jika Anda menentukan plugin `aws:runShellScript`, dan kemudian menjalankan dokumen pada instans Windows Server, eksekusi akan gagal. Anda dapat melihat contoh parameter prasyarat dalam dokumen SSM nanti di bagian ini.

## Skema versi 2.2
<a name="documents-schema-twox"></a>

**Elemen tingkat atas**  
Contoh berikut menunjukkan elemen-elemen tingkat atas dari dokumen SSM menggunakan skema versi 2.2.

------
#### [ YAML ]

```
---
schemaVersion: "2.2"
description: A description of the document.
parameters:
  parameter 1:
    property 1: "value"
    property 2: "value"
  parameter 2:
    property 1: "value"
    property 2: "value"
mainSteps:
  - action: Plugin name
    name: A name for the step.
    inputs:
      input 1: "value"
      input 2: "value"
      input 3: "{{ parameter 1 }}"
```

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

```
{
   "schemaVersion": "2.2",
   "description": "A description of the document.",
   "parameters": {
       "parameter 1": {
           "property 1": "value",
           "property 2": "value"
        },
        "parameter 2":{
           "property 1": "value",
           "property 2": "value"
        } 
    },
   "mainSteps": [
      {
         "action": "Plugin name",
         "name": "A name for the step.",
         "inputs": {
            "input 1": "value",
            "input 2": "value",
            "input 3": "{{ parameter 1 }}"
         }
      }
   ]
}
```

------

**Contoh skema versi 2.2**  
Contoh berikut menggunakan `aws:runPowerShellScript` plugin untuk menjalankan PowerShell perintah pada instance target.

------
#### [ YAML ]

```
---
schemaVersion: "2.2"
description: "Example document"
parameters:
  Message:
    type: "String"
    description: "Example parameter"
    default: "Hello World"
    allowedValues: 
    - "Hello World"
mainSteps:
  - action: "aws:runPowerShellScript"
    name: "example"
    inputs:
      timeoutSeconds: '60'
      runCommand:
      - "Write-Output {{Message}}"
```

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

```
{
   "schemaVersion": "2.2",
   "description": "Example document",
   "parameters": {
      "Message": {
         "type": "String",
         "description": "Example parameter",
         "default": "Hello World",
         "allowedValues": ["Hello World"]
      }
   },
   "mainSteps": [
      {
         "action": "aws:runPowerShellScript",
         "name": "example",
         "inputs": {
            "timeoutSeconds": "60",
            "runCommand": [
               "Write-Output {{Message}}"
            ]
         }
      }
   ]
}
```

------

**Skema versi 2.2 contoh parameter prasyarat**  
Skema versi 2.2 menyediakan dukungan lintas-platform. Ini berarti bahwa dalam satu dokumen SSM Anda dapat menentukan sistem operasi yang berbeda untuk plugin yang berbeda. Dukungan lintas platform dalam setiap langkah menggunakan parameter `precondition`, seperti yang ditunjukkan dalam contoh berikut. Anda juga dapat menggunakan parameter `precondition` untuk memvalidasi parameter input yang telah ditetapkan dalam dokumen SSM Anda. Anda dapat melihat ini di kedua contoh berikut.

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: cross-platform sample
mainSteps:
- action: aws:runPowerShellScript
  name: PatchWindows
  precondition:
    StringEquals:
    - platformType
    - Windows
  inputs:
    runCommand:
    - cmds
- action: aws:runShellScript
  name: PatchLinux
  precondition:
    StringEquals:
    - platformType
    - Linux
  inputs:
    runCommand:
    - cmds
```

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

```
{
   "schemaVersion": "2.2",
   "description": "cross-platform sample",
   "mainSteps": [
      {
         "action": "aws:runPowerShellScript",
         "name": "PatchWindows",
         "precondition": {
            "StringEquals": [
               "platformType",
               "Windows"
            ]
         },
         "inputs": {
            "runCommand": [
               "cmds"
            ]
         }
      },
      {
         "action": "aws:runShellScript",
         "name": "PatchLinux",
         "precondition": {
            "StringEquals": [
               "platformType",
               "Linux"
            ]
         },
         "inputs": {
            "runCommand": [
               "cmds"
            ]
         }
      }
   ]
}
```

------

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
parameters:
  action:
    type: String
    allowedValues:
    - Install
    - Uninstall
  confirmed:
    type: String
    allowedValues:
    - True
    - False
mainSteps:
- action: aws:runShellScript
  name: InstallAwsCLI
  precondition:
    StringEquals:
    - "{{ action }}"
    - "Install"
  inputs:
    runCommand:
    - sudo apt install aws-cli
- action: aws:runShellScript
  name: UninstallAwsCLI
  precondition:
    StringEquals:
    - "{{ action }} {{ confirmed }}"
    - "Uninstall True"
  inputs:
    runCommand:
    - sudo apt remove aws-cli
```

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

```
{
   "schemaVersion": "2.2",
   "parameters": {
      "action": {
         "type": "String",
         "allowedValues": [
            "Install",
            "Uninstall"
         ]
      },
      "confirmed": {
         "type": "String",
         "allowedValues": [
            true,
            false
         ]
      }
   },
   "mainSteps": [
      {
         "action": "aws:runShellScript",
         "name": "InstallAwsCLI",
         "precondition": {
            "StringEquals": [
               "{{ action }}",
               "Install"
            ]
         },
         "inputs": {
            "runCommand": [
               "sudo apt install aws-cli"
            ]
         }
      },
      {
         "action": "aws:runShellScript",
         "name": "UninstallAwsCLI",
         "precondition": {
            "StringEquals": [
               "{{ action }} {{ confirmed }}",
               "Uninstall True"
            ]
         },
         "inputs": {
            "runCommand": [
               "sudo apt remove aws-cli"
            ]
         }
      }
   ]
}
```

------

**Contoh interpolasi skema versi 2.2 dengan SSM Agent versi sebelum 3.3.2746.0**  
Pada SSM Agent versi sebelum 3.3.2746.0, agen mengabaikan `interpolationType` parameter dan sebagai gantinya melakukan substitusi string mentah. Jika Anda mereferensikan `SSM_parameter-name` secara eksplisit, Anda harus mengatur ini secara eksplisit. Dalam contoh berikut untuk Linux, variabel `SSM_Message` lingkungan direferensikan secara eksplisit.

```
{
    "schemaVersion": "2.2",
    "description": "An example document",
    "parameters": {
        "Message": {
            "type": "String",
            "description": "Message to be printed",
            "default": "Hello",
            "interpolationType" : "ENV_VAR",
	     "allowedPattern: "^[^"]*$"

        }
    },
    "mainSteps": [{
        "action": "aws:runShellScript",
        "name": "printMessage",
        "inputs": {
            "runCommand": [
              "if [ -z "${SSM_Message+x}" ]; then",
              "    export SSM_Message=\"{{Message}}\"",
              "fi",
              "",
              "echo $SSM_Message"
            ]
        }
    }
}
```

**catatan**  
`allowedPattern`tidak diperlukan secara teknis jika dokumen SSM tidak menggunakan kawat gigi ganda: `{{ }}`

**Contoh skema versi 2.2 State Manager**  
Anda dapat menggunakan dokumen SSM berikut denganState Manager, alat di Systems Manager, untuk mengunduh dan menginstal perangkat lunak antivirus ClamAv. State Managermemberlakukan konfigurasi tertentu, yang berarti bahwa setiap kali State Manager asosiasi dijalankan, sistem memeriksa untuk melihat apakah perangkat lunak ClamAV diinstal. Jika tidak, State Manager jalankan kembali dokumen ini.

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: State Manager Bootstrap Example
parameters: {}
mainSteps:
- action: aws:runShellScript
  name: configureServer
  inputs:
    runCommand:
    - sudo yum install -y httpd24
    - sudo yum --enablerepo=epel install -y clamav
```

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

```
{
   "schemaVersion": "2.2",
   "description": "State Manager Bootstrap Example",
   "parameters": {},
   "mainSteps": [
      {
         "action": "aws:runShellScript",
         "name": "configureServer",
         "inputs": {
            "runCommand": [
               "sudo yum install -y httpd24",
               "sudo yum --enablerepo=epel install -y clamav"
            ]
         }
      }
   ]
}
```

------

**Contoh inventaris skema versi 2.2**  
Anda dapat menggunakan dokumen SSM berikut State Manager untuk mengumpulkan metadata inventaris tentang instans Anda.

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: Software Inventory Policy Document.
parameters:
  applications:
    type: String
    default: Enabled
    description: "(Optional) Collect data for installed applications."
    allowedValues:
    - Enabled
    - Disabled
  awsComponents:
    type: String
    default: Enabled
    description: "(Optional) Collect data for AWS Components like amazon-ssm-agent."
    allowedValues:
    - Enabled
    - Disabled
  networkConfig:
    type: String
    default: Enabled
    description: "(Optional) Collect data for Network configurations."
    allowedValues:
    - Enabled
    - Disabled
  windowsUpdates:
    type: String
    default: Enabled
    description: "(Optional) Collect data for all Windows Updates."
    allowedValues:
    - Enabled
    - Disabled
  instanceDetailedInformation:
    type: String
    default: Enabled
    description: "(Optional) Collect additional information about the instance, including
      the CPU model, speed, and the number of cores, to name a few."
    allowedValues:
    - Enabled
    - Disabled
  customInventory:
    type: String
    default: Enabled
    description: "(Optional) Collect data for custom inventory."
    allowedValues:
    - Enabled
    - Disabled
mainSteps:
- action: aws:softwareInventory
  name: collectSoftwareInventoryItems
  inputs:
    applications: "{{ applications }}"
    awsComponents: "{{ awsComponents }}"
    networkConfig: "{{ networkConfig }}"
    windowsUpdates: "{{ windowsUpdates }}"
    instanceDetailedInformation: "{{ instanceDetailedInformation }}"
    customInventory: "{{ customInventory }}"
```

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

```
{
   "schemaVersion": "2.2",
   "description": "Software Inventory Policy Document.",
   "parameters": {
      "applications": {
         "type": "String",
         "default": "Enabled",
         "description": "(Optional) Collect data for installed applications.",
         "allowedValues": [
            "Enabled",
            "Disabled"
         ]
      },
      "awsComponents": {
         "type": "String",
         "default": "Enabled",
         "description": "(Optional) Collect data for AWS Components like amazon-ssm-agent.",
         "allowedValues": [
            "Enabled",
            "Disabled"
         ]
      },
      "networkConfig": {
         "type": "String",
         "default": "Enabled",
         "description": "(Optional) Collect data for Network configurations.",
         "allowedValues": [
            "Enabled",
            "Disabled"
         ]
      },
      "windowsUpdates": {
         "type": "String",
         "default": "Enabled",
         "description": "(Optional) Collect data for all Windows Updates.",
         "allowedValues": [
            "Enabled",
            "Disabled"
         ]
      },
      "instanceDetailedInformation": {
         "type": "String",
         "default": "Enabled",
         "description": "(Optional) Collect additional information about the instance, including\nthe CPU model, speed, and the number of cores, to name a few.",
         "allowedValues": [
            "Enabled",
            "Disabled"
         ]
      },
      "customInventory": {
         "type": "String",
         "default": "Enabled",
         "description": "(Optional) Collect data for custom inventory.",
         "allowedValues": [
            "Enabled",
            "Disabled"
         ]
      }
   },
   "mainSteps": [
      {
         "action": "aws:softwareInventory",
         "name": "collectSoftwareInventoryItems",
         "inputs": {
            "applications": "{{ applications }}",
            "awsComponents": "{{ awsComponents }}",
            "networkConfig": "{{ networkConfig }}",
            "windowsUpdates": "{{ windowsUpdates }}",
            "instanceDetailedInformation": "{{ instanceDetailedInformation }}",
            "customInventory": "{{ customInventory }}"
         }
      }
   ]
}
```

------

**Contoh skema versi 2.2 `AWS-ConfigureAWSPackage`**  
Contoh berikut menunjukkan dokumen `AWS-ConfigureAWSPackage`. Bagian `mainSteps` mencakup plugin `aws:configurePackage` di langkah `action`.

**catatan**  
Pada sistem operasi Linux, hanya paket `AmazonCloudWatchAgent` dan `AWSSupport-EC2Rescue` yang didukung.

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: 'Install or uninstall the latest version or specified version of an AWS
package. Available packages include the following: AWSPVDriver, AwsEnaNetworkDriver,
  AwsVssComponents, and AmazonCloudWatchAgent, and AWSSupport-EC2Rescue.'
parameters:
  action:
    description: "(Required) Specify whether or not to install or uninstall the package."
    type: String
    allowedValues:
    - Install
    - Uninstall
  name:
    description: "(Required) The package to install/uninstall."
    type: String
    allowedPattern: "^arn:[a-z0-9][-.a-z0-9]{0,62}:[a-z0-9][-.a-z0-9]{0,62}:([a-z0-9][-.a-z0-9]{0,62})?:([a-z0-9][-.a-z0-9]{0,62})?:package\\/[a-zA-Z][a-zA-Z0-9\\-_]{0,39}$|^[a-zA-Z][a-zA-Z0-9\\-_]{0,39}$"
  version:
    type: String
    description: "(Optional) A specific version of the package to install or uninstall."
mainSteps:
- action: aws:configurePackage
  name: configurePackage
  inputs:
    name: "{{ name }}"
    action: "{{ action }}"
    version: "{{ version }}"
```

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

```
{
   "schemaVersion": "2.2",
   "description": "Install or uninstall the latest version or specified version of an AWS package. Available packages include the following: AWSPVDriver, AwsEnaNetworkDriver, AwsVssComponents, and AmazonCloudWatchAgent, and AWSSupport-EC2Rescue.",
   "parameters": {
      "action": {
         "description":"(Required) Specify whether or not to install or uninstall the package.",
         "type":"String",
         "allowedValues":[
            "Install",
            "Uninstall"
         ]
      },
      "name": {
         "description": "(Required) The package to install/uninstall.",
         "type": "String",
         "allowedPattern": "^arn:[a-z0-9][-.a-z0-9]{0,62}:[a-z0-9][-.a-z0-9]{0,62}:([a-z0-9][-.a-z0-9]{0,62})?:([a-z0-9][-.a-z0-9]{0,62})?:package\\/[a-zA-Z][a-zA-Z0-9\\-_]{0,39}$|^[a-zA-Z][a-zA-Z0-9\\-_]{0,39}$"
      },
      "version": {
         "type": "String",
         "description": "(Optional) A specific version of the package to install or uninstall."
      }
   },
   "mainSteps":[
      {
         "action": "aws:configurePackage",
         "name": "configurePackage",
         "inputs": {
            "name": "{{ name }}",
            "action": "{{ action }}",
            "version": "{{ version }}"
         }
      }
   ]
}
```

------

## Skema versi 1.2
<a name="documents-schema-onex"></a>

Contoh berikut menunjukkan unsur-unsur tingkat atas dokumen skema versi 1.2.

```
{
   "schemaVersion":"1.2",
   "description":"A description of the SSM document.",
   "parameters":{
      "parameter 1":{
         "one or more parameter properties"
      },
      "parameter 2":{
         "one or more parameter properties"
      },
      "parameter 3":{
         "one or more parameter properties"
      }
   },
   "runtimeConfig":{
      "plugin 1":{
         "properties":[
            {
               "one or more plugin properties"
            }
         ]
      }
   }
}
```

**Contoh skema versi 1.2 `aws:runShellScript`**  
Contoh berikut menunjukkan Dokumen SSM `AWS-RunShellScript`. Bagian **runtimeConfig** mencakup plugin `aws:runShellScript`.

```
{
    "schemaVersion":"1.2",
    "description":"Run a shell script or specify the commands to run.",
    "parameters":{
        "commands":{
            "type":"StringList",
            "description":"(Required) Specify a shell script or a command to run.",
            "minItems":1,
            "displayType":"textarea"
        },
        "workingDirectory":{
            "type":"String",
            "default":"",
            "description":"(Optional) The path to the working directory on your instance.",
            "maxChars":4096
        },
        "executionTimeout":{
            "type":"String",
            "default":"3600",
            "description":"(Optional) The time in seconds for a command to complete before it is considered to have failed. Default is 3600 (1 hour). Maximum is 172800 (48 hours).",
            "allowedPattern":"([1-9][0-9]{0,3})|(1[0-9]{1,4})|(2[0-7][0-9]{1,3})|(28[0-7][0-9]{1,2})|(28800)"
        }
    },
    "runtimeConfig":{
        "aws:runShellScript":{
            "properties":[
                {
                    "id":"0.aws:runShellScript",
                    "runCommand":"{{ commands }}",
                    "workingDirectory":"{{ workingDirectory }}",
                    "timeoutSeconds":"{{ executionTimeout }}"
                }
            ]
        }
    }
}
```

## Skema versi 0.3
<a name="automation-doc-syntax-examples"></a>

**Elemen tingkat atas**  
Contoh berikut menunjukkan elemen-elemen tingkat atas dari skema versi 0.3 runbook otomatisasi dalam format JSON.

```
{
    "description": "document-description",
    "schemaVersion": "0.3",
    "assumeRole": "{{assumeRole}}",
    "parameters": {
        "parameter1": {
            "type": "String",
            "description": "parameter-1-description",
            "default": ""
        },
        "parameter2": {
            "type": "String",
            "description": "parameter-2-description",
            "default": ""
        }
    },
    "variables": {
        "variable1": {
            "type": "StringMap",
            "description": "variable-1-description",
            "default": {}
        },
        "variable2": {
            "type": "String",
            "description": "variable-2-description",
            "default": "default-value"
        }
    },
    "mainSteps": [
        {
            "name": "myStepName",
            "action": "action-name",
            "maxAttempts": 1,
            "inputs": {
                "Handler": "python-only-handler-name",
                "Runtime": "runtime-name",
                "Attachment": "script-or-zip-name"
            },
            "outputs": {
                "Name": "output-name",
                "Selector": "selector.value",
                "Type": "data-type"
            }
        }
    ],
    "files": {
        "script-or-zip-name": {
            "checksums": {
                "sha256": "checksum"
            },
            "size": 1234
        }
    }
}
```

**Contoh runbook otomatisasi YAML**  
Contoh berikut menunjukkan isi dari sebuah runbook otomatisasi, dalam format YAML. Contoh kerja ini dari skema dokumen versi 0.3 juga menunjukkan penggunaan Potongan harga untuk memformat deskripsi dokumen.

```
description: >-
  ##Title: LaunchInstanceAndCheckState

  -----

  **Purpose**: This Automation runbook first launches an EC2 instance
  using the AMI ID provided in the parameter ```imageId```. The second step of
  this document continuously checks the instance status check value for the
  launched instance until the status ```ok``` is returned.


  ##Parameters:

  -----

  Name | Type | Description | Default Value

  ------------- | ------------- | ------------- | -------------

  assumeRole | String | (Optional) The ARN of the role that allows Automation to
  perform the actions on your behalf. | -

  imageId  | String | (Optional) The AMI ID to use for launching the instance.
  The default value uses the latest Amazon Linux AMI ID available. | {{
  ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64 }}
schemaVersion: '0.3'
assumeRole: 'arn:aws:iam::111122223333::role/AutomationServiceRole'
parameters:
  imageId:
    type: String
    default: '{{ ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64 }}'
    description: >-
      (Optional) The AMI ID to use for launching the instance. The default value
      uses the latest released Amazon Linux AMI ID.
  tagValue:
    type: String
    default: ' LaunchedBySsmAutomation'
    description: >-
      (Optional) The tag value to add to the instance. The default value is
      LaunchedBySsmAutomation.
  instanceType:
    type: String
    default: t2.micro
    description: >-
      (Optional) The instance type to use for the instance. The default value is
      t2.micro.
mainSteps:
  - name: LaunchEc2Instance
    action: 'aws:executeScript'
    outputs:
      - Name: payload
        Selector: $.Payload
        Type: StringMap
    inputs:
      Runtime: python3.11
      Handler: launch_instance
      Script: ''
      InputPayload:
        image_id: '{{ imageId }}'
        tag_value: '{{ tagValue }}'
        instance_type: '{{ instanceType }}'
      Attachment: launch.py
    description: >-
      **About This Step**


      This step first launches an EC2 instance using the ```aws:executeScript```
      action and the provided python script.
  - name: WaitForInstanceStatusOk
    action: 'aws:executeScript'
    inputs:
      Runtime: python3.11
      Handler: poll_instance
      Script: |-
        def poll_instance(events, context):
          import boto3
          import time

          ec2 = boto3.client('ec2')

          instance_id = events['InstanceId']

          print('[INFO] Waiting for instance status check to report ok', instance_id)

          instance_status = "null"

          while True:
            res = ec2.describe_instance_status(InstanceIds=[instance_id])

            if len(res['InstanceStatuses']) == 0:
              print("Instance status information is not available yet")
              time.sleep(5)
              continue

            instance_status = res['InstanceStatuses'][0]['InstanceStatus']['Status']

            print('[INFO] Polling to get status of the instance', instance_status)

            if instance_status == 'ok':
              break

            time.sleep(10)

          return {'Status': instance_status, 'InstanceId': instance_id}
      InputPayload: '{{ LaunchEc2Instance.payload }}'
    description: >-
      **About This Step**


      The python script continuously polls the instance status check value for
      the instance launched in Step 1 until the ```ok``` status is returned.
files:
  launch.py:
    checksums:
      sha256: 18871b1311b295c43d0f...[truncated]...772da97b67e99d84d342ef4aEXAMPLE
```

## Contoh penanganan parameter aman
<a name="secure-parameter-examples"></a>

Contoh berikut menunjukkan penanganan parameter aman menggunakan variabel lingkungan`interpolationType`.

### Eksekusi perintah aman dasar
<a name="basic-secure-command"></a>

Contoh ini menunjukkan cara menangani parameter perintah dengan aman:

**catatan**  
`allowedPattern`tidak diperlukan secara teknis dalam dokumen SSM yang tidak menggunakan kawat gigi ganda: `{{ }}` 

------
#### [ YAML ]

```
---

schemaVersion: '2.2'
description: An example document.
parameters:
  Message:
    type: String
    description: "Message to be printed"
    default: Hello
    interpolationType: ENV_VAR
    allowedPattern: "^[^"]*$"
mainSteps:
  - action: aws:runShellScript
    name: printMessage
    precondition:
      StringEquals:
        - platformType
        - Linux
    inputs:
      runCommand:
        - echo {{Message}}
```

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

```
{
    "schemaVersion": "2.2",
    "description": "An example document.",
    "parameters": {
        "Message": {
            "type": "String",
            "description": "Message to be printed",
            "default": "Hello",
            "interpolationType": "ENV_VAR",
            "allowedPattern": "^[^"]*$"
        }
    },
    "mainSteps": [{
        "action": "aws:runShellScript",
        "name": "printMessage",
        "precondition": {
           "StringEquals": ["platformType", "Linux"]
        },
        "inputs": {
            "runCommand": [
              "echo {{Message}}"
            ]
        }
    }]
}
```

------

### Menggunakan parameter dalam bahasa yang ditafsirkan
<a name="interpreted-language-example"></a>

Contoh ini menunjukkan penanganan parameter aman di Python:

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: 'Secure Python script execution'
parameters:
  inputData:
    type: String
    description: 'Input data for processing'
    interpolationType: 'ENV_VAR'
mainSteps:
  - action: aws:runPowerShellScript
    name: runPython
    inputs:
      runCommand:
        - |
          python3 -c '
          import os
          import json
          
          # Safely access parameter through environment variable
          input_data = os.environ.get("SSM_inputData", "")
          
          # Process the data
          try:
              processed_data = json.loads(input_data)
              print(f"Successfully processed: {processed_data}")
          except json.JSONDecodeError:
              print("Invalid JSON input")
          '
```

------

### Contoh kompatibilitas mundur
<a name="backwards-compatibility-example"></a>

Contoh ini menunjukkan cara menangani parameter dengan aman sambil mempertahankan kompatibilitas mundur:

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: 'Backwards compatible secure parameter handling'
parameters:
  userInput:
    type: String
    description: 'User input to process'
    interpolationType: 'ENV_VAR'
    allowedPattern: '^[^"]*$'

mainSteps:
  - action: aws:runShellScript
    name: processInput
    inputs:
      runCommand:
        - |
          # Handle both modern and legacy agent versions
          if [ -z "${SSM_userInput+x}" ]; then
              # Legacy agent - fall back to direct parameter reference
              export SSM_userInput="{{userInput}}"
          fi
          
          # Process the input securely
          echo "Processing input: $SSM_userInput"
```

------

**catatan**  
`allowedPattern`tidak diperlukan secara teknis dalam dokumen SSM yang tidak menggunakan kawat gigi ganda: `{{ }}` 

## Praktik terbaik keamanan parameter
<a name="parameter-security-best-practices"></a>

Ikuti praktik terbaik ini saat menangani parameter dalam dokumen SSM:
+ **Gunakan interpolasi variabel lingkungan** - Selalu gunakan `interpolationType: "ENV_VAR"` untuk parameter string yang akan digunakan dalam eksekusi perintah.
+ **Implementasikan validasi masukan** - Gunakan `allowedPattern` untuk membatasi nilai parameter ke pola aman.
+ **Menangani sistem lama** - Sertakan logika fallback untuk SSM Agent versi lama yang tidak mendukung interpolasi variabel lingkungan.
+ **Melarikan diri dari karakter khusus** - Saat menggunakan nilai parameter dalam perintah, lepaskan karakter khusus dengan benar untuk mencegah interpretasi oleh shell.
+ **Batasi cakupan parameter** - Gunakan pola parameter yang paling ketat untuk kasus penggunaan Anda.

# Elemen dan parameter data
<a name="documents-syntax-data-elements-parameters"></a>

Topik ini menjelaskan elemen data yang digunakan dalam dokumen SSM. Versi skema yang digunakan untuk membuat dokumen mendefinisikan sintaks dan elemen data yang diterima dokumen. Kami menyarankan Anda menggunakan skema versi 2.2 atau yang lebih baru untuk dokumen Command. 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 Penurunan Harga di Konsol](https://docs.aws.amazon.com/general/latest/gr/aws-markdown.html) di Panduan *Konsol Manajemen AWS Memulai*.

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

## Elemen data tingkat atas
<a name="top-level"></a>

**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 keamanan yang ditingkatkan saat menangani parameter string, Anda dapat menggunakan interpolasi variabel lingkungan dengan menentukan properti. `interpolationType` Ketika diatur ke`ENV_VAR`, sistem menciptakan variabel lingkungan bernama `SSM_parameter-name` yang berisi nilai parameter.  
Berikut ini mencakup contoh parameter menggunakan variabel lingkungan`interpolationType`:  

```
{
    "schemaVersion": "2.2",
    "description": "An example document.",
    "parameters": {
        "Message": {
            "type": "String",
            "description": "Message to be printed",
            "default": "Hello",
            "interpolationType" : "ENV_VAR",
            "allowedPattern": "^[^"]*$"

        }
    },
    "mainSteps": [{
        "action": "aws:runShellScript",
        "name": "printMessage",
        "precondition" : {
           "StringEquals" : ["platformType", "Linux"]
        },
        "inputs": {
            "runCommand": [
              "echo {{Message}}"
            ]
        }
    }
}
```
`allowedPattern`tidak diperlukan secara teknis dalam dokumen SSM yang tidak menggunakan kawat gigi ganda: `{{ }}` 
Untuk parameter yang sering Anda gunakan, kami sarankan Anda menyimpan parameter tersebut diParameter Store, alat di AWS Systems Manager. Kemudian, Anda dapat menentukan parameter dalam dokumen Anda yang mereferensikan Parameter Store parameter sebagai nilai defaultnya. Untuk referensi Parameter Store parameter, gunakan 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 untuk `commands` parameter adalah Parameter Store parameter`myShellCommands`. Dengan menentukan `commands` parameter sebagai `runCommand` string, dokumen menjalankan perintah yang disimpan dalam `myShellCommands` parameter.  

```
---
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 }}"],
            interpolationType : 'ENV_VAR'
            allowedPattern: '^[^"]*$'

mainSteps:
- action: aws:runShellScript
  name: runShellScriptDefaultParams
  inputs:
    runCommand:"{{ commands }}"
```

```
{
    "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 }}"],
        "interpolationType" : "ENV_VAR"
      }
    },
    "mainSteps": [
      {
        "action": "aws:runShellScript",
        "name": "runShellScriptDefaultParams",
        "inputs": {
            "runCommand": [
              "{{ commands }}"
          ]
        }
      }
    ]
  }
```
Anda dapat referensi `String` dan `StringList` Parameter Store parameter di `parameters` bagian dokumen Anda. Anda tidak dapat mereferensikan `SecureString` Parameter Store parameter.
Untuk informasi selengkapnya tentang Parameter Store, lihat [AWS Systems Manager Parameter Store](systems-manager-parameter-store.md).  
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 [Contoh parameter dokumen SSM `type`](#top-level-properties-type) di bagian berikutnya.
**catatan**  
Dokumen tipe perintah hanya mendukung tipe `String` dan `StringList` parameter.
+ `description`: (Opsional) Deskripsi parameter.
+ `default`: (Opsional) Nilai default parameter atau referensi ke parameter diParameter 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 menggunakan [pustaka regex Java](https://docs.oracle.com/javase/8/docs/api/java/util/regex/package-summary.html) di tingkat API saat Anda menggunakan dokumen. Validasi kedua dilakukan SSM Agent dengan menggunakan [pustaka regexp GO](https://pkg.go.dev/regexp) sebelum memproses dokumen. 

------
#### [ YAML ]

  ```
  InstanceId:
    type: String
    description: "(Required) The instance ID to target."
    allowedPattern: "^i-(?:[a-f0-9]{8}|[a-f0-9]{17})$"
    default: ''
  ```

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

  ```
  "InstanceId": {
    "type": "String",
    "description": "(Required) The instance ID to target.",
    "allowedPattern": "^i-(?:[a-f0-9]{8}|[a-f0-9]{17})$",
    "default": ""
  }
  ```

------
+ `displayType`: (Opsional) Digunakan untuk menampilkan baik a `textfield` atau a `textarea` di Konsol Manajemen AWS. `textfield`adalah kotak teks satu baris. `textarea`adalah 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.
+ `interpolationType`: (Opsional) Mendefinisikan bagaimana nilai parameter diproses sebelum eksekusi perintah. Ketika diatur ke`ENV_VAR`, nilai parameter dibuat tersedia sebagai variabel lingkungan bernama`SSM_parameter-name`. Fitur ini membantu mencegah injeksi perintah dengan memperlakukan nilai parameter sebagai string literal.

  Tipe: String

  Nilai valid: `ENV_VAR`
Wajib: Tidak

**variabel**  
(Skema versi 0.3 saja) Nilai yang dapat Anda referensikan atau perbarui di seluruh langkah di runbook Otomasi. 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](automation-action-update-variable.md)  
Jenis: Boolean \$1 Integer \$1 \$1 String MapList \$1 \$1 StringList StringMap  
Wajib: Tidak  

```
variables:
    payload:
        type: StringMap
        default: "{}"
```

```
{
    "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 yang baruAMI, Anda dapat menentukan "CreateImage. ImageId"sebagai nilai output, dan kemudian menggunakan output ini untuk membuat instance baru dalam eksekusi otomatisasi berikutnya. Untuk informasi selengkapnya tentang opsi, lihat [Menggunakan output tindakan sebagai input](automation-action-outputs-inputs.md).  
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](automation-action-executeScript.md) Untuk informasi selengkapnya tentang termasuk skrip di runbook otomatisasi, lihat [Menggunakan skrip di runbook](automation-document-script-considerations.md) dan [Pengalaman desain visual untuk runbook Otomasi](automation-visual-designer.md).  
Saat membuat runbook Otomasi dengan lampiran, Anda juga harus menentukan file lampiran menggunakan `--attachments` opsi (untuk AWS CLI) atau `Attachments` (untuk API dan SDK). Anda dapat menentukan lokasi file untuk dokumen SSM dan file yang disimpan di bucket Amazon Simple Storage Service (Amazon S3). Untuk informasi selengkapnya, lihat [Lampiran](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateDocument.html#systemsmanager-CreateDocument-request-Attachments) di Referensi AWS Systems Manager API.  

```
---
files:
  launch.py:
    checksums:
      sha256: 18871b1311b295c43d0f...[truncated]...772da97b67e99d84d342ef4aEXAMPLE
```

```
"files": {
    "launch.py": {
        "checksums": {
            "sha256": "18871b1311b295c43d0f...[truncated]...772da97b67e99d84d342ef4aEXAMPLE"
        }
    }
}
```
Jenis: Kamus <String, > FilesConfiguration  
Wajib: Tidak

## Contoh parameter dokumen SSM `type`
<a name="top-level-properties-type"></a>

Jenis parameter dalam dokumen SSM adalah statis. Ini berarti jenis parameter tidak dapat diubah setelah ditentukan. Ketika menggunakan parameter dengan plugin dokumen SSM, 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, dokumen SSM 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. `documentParameters`Input menerima peta string meskipun tipe parameter dokumen SSM hilir adalah parameter dan cocok dengan `StringList` parameter yang Anda referensikan.

Saat menggunakan parameter dengan Tindakan otomatisasi , jenis parameter tidak divalidasi saat Anda membuat dokumen SSM dalam banyak kasus. Hanya ketika Anda menggunakan tindakan `aws:runCommand` jenis parameter saat Anda membuat dokumen SSM divalidasi. Dalam semua kasus lain, validasi parameter terjadi selama eksekusi otomatisasi ketika input tindakan diverifikasi sebelum menjalankan tindakan. Misalnya, dokumen SSM dibuat jika parameter input Anda adalah `String` dan referensi Anda sebagai nilai untuk input `MaxInstanceCount` dari tindakan `aws:runInstances`. 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.  
Parameter string dapat menyertakan `interpolationType` bidang opsional dengan nilai `ENV_VAR` untuk mengaktifkan interpolasi variabel lingkungan untuk meningkatkan keamanan.  

```
---
InstanceId:
  type: String
  description: "(Optional) The target EC2 instance ID."
  interpolationType: ENV_VAR
```

```
"InstanceId":{
  "type":"String",
  "description":"(Optional) The target EC2 instance ID.",
  "interpolationType": "ENV_VAR"
}
```

StringList  
Daftar item String dipisahkan dengan koma. Sebagai contoh, ["cd \$1", "pwd"].  

```
---
commands:
  type: StringList
  description: "(Required) Specify a shell script or a command to run."
  default: ""
  minItems: 1
  displayType: textarea
```

```
"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.  

```
---
canRun:
  type: Boolean
  description: ''
  default: true
```

```
"canRun": {
  "type": "Boolean",
  "description": "",
  "default": true
}
```

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

```
---
timeout:
  type: Integer
  description: The type of action to perform.
  default: 100
```

```
"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, \$1"Env": "Prod"\$1.  

```
---
notificationConfig:
  type: StringMap
  description: The configuration for events to be notified about
  default:
    NotificationType: 'Command'
    NotificationEvents:
    - 'Failed'
    NotificationArn: "$dependency.topicArn"
  maxChars: 150
```

```
"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.  

```
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
```

```
"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 Command
<a name="viewing-ssm-document-content"></a>

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

**Untuk melihat konten dokumen SSM Command**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Dokumen**.

1. Di kotak pencarian, pilih **Jenis dokumen**, dan kemudian pilih **Perintah**.

1. Pilih nama dokumen, dan kemudian pilih tab **Konten**. 

1. 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`.  
![\[Lihat konten dokumen SSM di konsol Systems Manager\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/view-document-content.png)

# Referensi plugin dokumen perintah
<a name="documents-command-ssm-plugin-reference"></a>

Referensi ini menjelaskan plugin yang dapat Anda tentukan dalam dokumen tipe Command AWS Systems Manager (SSM). Plugin ini tidak dapat digunakan dalam runbook otomatisasi SSM, yang menggunakan tindakan otomatisasi. Untuk informasi tentang tindakan AWS Systems Manager Otomasi, lihat[Referensi tindakan Otomatisasi Systems Manager](automation-actions.md).

Systems Manager menentukan tindakan untuk menjalankan instans terkelola dengan membaca isi dokumen SSM. Setiap dokumen termasuk bagian eksekusi kode. Tergantung pada versi skema dokumen Anda, bagian eksekusi kode ini dapat mencakup satu atau beberapa plugin atau langkah-langkah. Untuk tujuan topik bantuan ini, plugin dan langkah-langkah disebut sebagai *plugin*. Bagian ini mencakup informasi tentang setiap plugin Systems Manager. Untuk informasi lebih lanjut tentang dokumen, termasuk informasi tentang membuat dokumen dan perbedaan antara versi skema, lihat [AWS Systems Manager Dokumen](documents.md).

Untuk plugin yang menerima parameter String, seperti `aws:runShellScript` dan`aws:runPowerShellScript`, `interpolationType` parameter dapat digunakan untuk meningkatkan keamanan dengan memperlakukan input parameter sebagai string literal daripada perintah yang berpotensi dapat dieksekusi. Contoh:

```
{
    "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 }}"],
        "interpolationType" : "ENV_VAR"
      }
    },
    //truncated
 }
```

**catatan**  
Beberapa plugin yang dijelaskan di sini hanya dijalankan di instans Windows Server atau instans Linux. Dependensi platform dicatat dalam setiap plugin.   
Plugin dokumen berikut didukung oleh instans Amazon Elastic Compute Cloud (Amazon EC2) untuk macOS:  
`aws:refreshAssociation`
`aws:runShellScript`
`aws:runPowerShellScript`
`aws:softwareInventory`
`aws:updateSsmAgent`

**Topics**
+ [Input bersama](#shared-inputs)
+ [`aws:applications`](#aws-applications)
+ [`aws:cloudWatch`](#aws-cloudWatch)
+ [`aws:configureDocker`](#aws-configuredocker)
+ [`aws:configurePackage`](#aws-configurepackage)
+ [`aws:domainJoin`](#aws-domainJoin)
+ [`aws:downloadContent`](#aws-downloadContent)
+ [`aws:psModule`](#aws-psModule)
+ [`aws:refreshAssociation`](#aws-refreshassociation)
+ [`aws:runDockerAction`](#aws-rundockeraction)
+ [`aws:runDocument`](#aws-rundocument)
+ [`aws:runPowerShellScript`](#aws-runPowerShellScript)
+ [`aws:runShellScript`](#aws-runShellScript)
+ [`aws:softwareInventory`](#aws-softwareinventory)
+ [`aws:updateAgent`](#aws-updateagent)
+ [`aws:updateSsmAgent`](#aws-updatessmagent)

## Input bersama
<a name="shared-inputs"></a>

Dengan SSM Agent versi 3.0.502 dan yang lebih baru saja, semua plugin dapat menggunakan input berikut:

**finallyStep**  
Langkah terakhir untuk menjalankan dokumen yang Anda inginkan. Jika input ini ditentukan dalam sebuah langkah, `exit` lebih diutamakan dari nilai yang ditentukan dalam `onFailure` atau input `onSuccess`. Dalam rangka untuk menjalankan langkah input ini seperti yang diharapkan, langkah terakhir yang harus ditentukan dalam `mainSteps` dari dokumen Anda.  
Tipe: Boolean  
Nilai yang valid: `true` \$1 `false`  
Wajib: Tidak

**onFailure**  
Jika Anda menentukan input ini untuk plugin dengan nilai `exit` dan langkah gagal, status langkah mencerminkan kegagalan dan dokumen tidak menjalankan langkah-langkah yang tersisa kecuali `finallyStep` yang telah ditentukan. Jika Anda menentukan input ini untuk plugin dengan nilai `successAndExit` dan langkah gagal, status langkah menunjukkan sukses dan dokumen tidak menjalankan langkah-langkah yang tersisa kecuali `finallyStep` yang telah ditentukan.  
Tipe: String  
Nilai yang valid: `exit` \$1 `successAndExit`  
Wajib: Tidak

**onSuccess**  
Jika Anda menentukan input ini untuk plugin dan langkah yang dijalankan berhasil, dokumen tidak menjalankan langkah-langkah yang tersisa kecuali `finallyStep` yang telah ditentukan.  
Tipe: String  
Nilai valid: `exit`  
Wajib: Tidak

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: Shared inputs example
parameters:
  customDocumentParameter:
    type: String
    description: Example parameter for a custom Command-type document.
mainSteps:
- action: aws:runDocument
  name: runCustomConfiguration
  inputs:
    documentType: SSMDocument
    documentPath: "yourCustomDocument"
    documentParameters: '"documentParameter":{{customDocumentParameter}}'
    onSuccess: exit
- action: aws:runDocument
  name: ifConfigurationFailure
  inputs:
    documentType: SSMDocument
    documentPath: "yourCustomRepairDocument"
    onFailure: exit
- action: aws:runDocument
  name: finalConfiguration
  inputs:
    documentType: SSMDocument
    documentPath: "yourCustomFinalDocument"
    finallyStep: true
```

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

```
{
   "schemaVersion": "2.2",
   "description": "Shared inputs example",
   "parameters": {
      "customDocumentParameter": {
         "type": "String",
         "description": "Example parameter for a custom Command-type document."
      }
   },
   "mainSteps":[
      {
         "action": "aws:runDocument",
         "name": "runCustomConfiguration",
         "inputs": {
            "documentType": "SSMDocument",
            "documentPath": "yourCustomDocument",
            "documentParameters": "\"documentParameter\":{{customDocumentParameter}}",
            "onSuccess": "exit"
         }
      },
      {
         "action": "aws:runDocument",
         "name": "ifConfigurationFailure",
         "inputs": {
            "documentType": "SSMDocument",
            "documentPath": "yourCustomRepairDocument",
            "onFailure": "exit"
         }
      },
      {
         "action": "aws:runDocument",
         "name":"finalConfiguration",
         "inputs": {
            "documentType": "SSMDocument",
            "documentPath": "yourCustomFinalDocument",
            "finallyStep": true
         }
      }
   ]
}
```

------

## `aws:applications`
<a name="aws-applications"></a>

Menginstal, memperbaiki, atau menghapus aplikasi pada instans EC2. Plugin ini hanya berjalan pada Sistem operasi Windows Server.

### Sintaksis
<a name="applications-syntax"></a>

#### Skema 2.2
<a name="applications-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:applications plugin
parameters:
  source:
    description: "(Required) Source of msi."
    type: String
mainSteps:
- action: aws:applications
  name: example
  inputs:
    action: Install
    source: "{{ source }}"
```

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

```
{
  "schemaVersion":"2.2",
  "description":"aws:applications",
  "parameters":{
    "source":{
    "description":"(Required) Source of msi.",
    "type":"String"
    }
  },
  "mainSteps":[
    {
      "action":"aws:applications",
      "name":"example",
      "inputs":{
        "action":"Install",
        "source":"{{ source }}"
      }
    }
  ]
}
```

------

#### Skema 1.2
<a name="applications-syntax-1.2"></a>

------
#### [ YAML ]

```
---
runtimeConfig:
  aws:applications:
    properties:
    - id: 0.aws:applications
      action: "{{ action }}"
      parameters: "{{ parameters }}"
      source: "{{ source }}"
      sourceHash: "{{ sourceHash }}"
```

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

```
{
   "runtimeConfig":{
      "aws:applications":{
         "properties":[
            {
               "id":"0.aws:applications",
               "action":"{{ action }}",
               "parameters":"{{ parameters }}",
               "source":"{{ source }}",
               "sourceHash":"{{ sourceHash }}"
            }
         ]
      }
   }
}
```

------

### Sifat-sifat
<a name="applications-properties"></a>

**tindakan**  
Tindakan yang harus diambil.  
Jenis: Enum  
Nilai valid: `Install` \$1 `Repair` \$1 `Uninstall`  
Wajib: Ya

**parameter**  
Parameter untuk penginstal.  
Tipe: String  
Wajib: Tidak

**sumber**  
URL dari file `.msi` untuk aplikasi.  
Tipe: String  
Wajib: Ya

**sourceHash**  
 SHA256 Hash dari `.msi` file tersebut.  
Tipe: String  
Wajib: Tidak

## `aws:cloudWatch`
<a name="aws-cloudWatch"></a>

Ekspor data dari Windows Server ke Amazon CloudWatch atau Amazon CloudWatch Logs dan pantau data menggunakan CloudWatch metrik. Plugin ini hanya berjalan pada Sistem operasi Windows Server. *Untuk informasi selengkapnya tentang mengonfigurasi CloudWatch integrasi dengan Amazon Elastic Compute Cloud (Amazon EC2)[, lihat Mengumpulkan metrik, log, dan jejak dengan agen CloudWatch di](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) Panduan Pengguna Amazon. CloudWatch *

**penting**  
 CloudWatch Agen terpadu telah diganti SSM Agent sebagai alat untuk mengirim data log ke Amazon CloudWatch Logs. Plugin SSM Agent AWS:CloudWatch tidak didukung. Sebaiknya gunakan hanya CloudWatch agen terpadu untuk proses pengumpulan log Anda. Untuk informasi selengkapnya, lihat topik berikut:  
[Mengirim log simpul ke CloudWatch Log terpadu (CloudWatch agen)](monitoring-cloudwatch-agent.md)
[Migrasikan koleksi log node Windows Server ke agen CloudWatch](monitoring-cloudwatch-agent.md#monitoring-cloudwatch-agent-migrate)
[Mengumpulkan metrik, log, dan jejak dengan CloudWatch agen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) di *Panduan CloudWatch Pengguna Amazon*.

Anda dapat mengekspor dan memantau jenis data berikut:

**ApplicationEventLog**  
Mengirim data log peristiwa aplikasi ke CloudWatch Log.

**CustomLogs**  
Mengirim file log berbasis teks apa pun ke Amazon CloudWatch Logs. CloudWatch Plugin membuat sidik jari untuk file log. Sistem kemudian menghubungkan data offset dengan setiap sidik jari. Plugin mengunggah file ketika ada perubahan, rekaman offset, dan menghubungkan offset dengan sidik jari. Metode ini digunakan untuk menghindari situasi di mana pengguna menyalakan plugin, mengaitkan layanan dengan direktori yang berisi sebagian besar file, dan sistem mengunggah semua file.  
Sadarilah bahwa jika aplikasi Anda memotong atau mencoba untuk membersihkan log selama polling, setiap log yang ditentukan untuk `LogDirectoryPath` dapat kehilangan entri. Jika, misalnya, Anda ingin membatasi ukuran file log, membuat file log baru ketika batas telah tercapai, dan kemudian melanjutkan menulis data ke file baru.

**ETW**  
Mengirim data Event Tracing untuk Windows (ETW) ke CloudWatch Log.

**IIS**  
Mengirim data log IIS ke CloudWatch Log.

**PerformanceCounter**  
Mengirim penghitung kinerja Windows ke CloudWatch. Anda dapat memilih kategori yang berbeda untuk diunggah CloudWatch sebagai metrik. Untuk setiap penghitung kinerja yang ingin Anda unggah, buat **PerformanceCounter**bagian dengan ID unik (misalnya, "PerformanceCounter2"," PerformanceCounter 3", dan seterusnya) dan konfigurasikan propertinya.  
Jika AWS Systems Manager SSM Agent atau CloudWatch plugin dihentikan, data penghitung kinerja tidak masuk CloudWatch. Perilaku ini berbeda dari log kustom atau log Peristiwa Windows. Log kustom dan log Peristiwa Windows mempertahankan data penghitung kinerja dan mengunggahnya ke CloudWatch setelah SSM Agent atau CloudWatch plugin tersedia.

**SecurityEventLog**  
Mengirim data log peristiwa keamanan ke CloudWatch Log.

**SystemEventLog**  
Mengirim data log peristiwa sistem ke CloudWatch Log.

Anda dapat menentukan tujuan untuk data berikut:

**CloudWatch**  
Tujuan pengiriman data metrik penghitung kinerja Anda. Anda dapat menambahkan lebih banyak bagian dengan unik IDs (misalnya, "CloudWatch2", CloudWatch 3", dan seterusnya), dan menentukan Wilayah yang berbeda untuk setiap ID baru untuk mengirim data yang sama ke lokasi yang berbeda.

**CloudWatchLogs**  
Tujuan dimana data log Anda dikirim. Anda dapat menambahkan lebih banyak bagian dengan unik IDs (misalnya, "CloudWatchLogs2", CloudWatchLogs 3", dan seterusnya), dan menentukan Wilayah yang berbeda untuk setiap ID baru untuk mengirim data yang sama ke lokasi yang berbeda.

### Sintaksis
<a name="cloudWatch-syntax"></a>

```
"runtimeConfig":{
        "aws:cloudWatch":{
            "settings":{
                "startType":"{{ status }}"
            },
            "properties":"{{ properties }}"
        }
    }
```

### Pengaturan dan properti
<a name="cloudWatch-properties"></a>

**AccessKey**  
Kunci akses ID Anda. Properti ini diperlukan kecuali Anda telah meluncurkan instans Anda menggunakan IAM role. Properti ini tidak dapat digunakan dengan SSM.  
Tipe: String  
Wajib: Tidak

**CategoryName**  
Kategori penghitungan kinerja dari Pemantauan kinerja.  
Tipe: String  
Diperlukan: Ya

**CounterName**  
Nama penghitung kinerja dari Pemantauan kinerja.  
Tipe: String  
Diperlukan: Ya

**CultureName**  
Lokal tempat stempel waktu dicatat. Jika **CultureName**kosong, defaultnya ke lokal yang sama yang digunakan oleh instance Anda. Windows Server  
Tipe: String  
Nilai yang benar: Untuk daftar nilai yang mendukung, lihat [National Language Support (NLS)](https://msdn.microsoft.com/en-us/library/cc233982.aspx) di situs web Microsoft. **Div**, **div-MV**, **hu**, dan **Hu-hu** nilai tidak mendukung.  
Wajib: Tidak

**DimensionName**  
Dimensi untuk CloudWatch metrik Amazon Anda. Jika Anda menentukan `DimensionName`, Anda harus menentukan `DimensionValue`. Parameter ini memberikan tampilan lain saat mendaftar metrik. Anda dapat menggunakan dimensi yang sama untuk beberapa metrik sehingga Anda dapat melihat semua metrik milik dimensi tertentu.  
Tipe: String  
Wajib: Tidak

**DimensionValue**  
Nilai dimensi untuk CloudWatch metrik Amazon Anda.  
Tipe: String  
Wajib: Tidak

**Encoding**  
File pengodean yang akan digunakan (misalnya, UTF-8). Gunakan nama pengodean, bukan nama tampilan.  
Tipe: String  
Nilai yang valid: Untuk daftar nilai yang didukung, lihat [Kelas Pengkodean](https://learn.microsoft.com/en-us/dotnet/api/system.text.encoding?view=net-7.0) di Perpustakaan Microsoft Learn.  
Wajib: Ya

**Filter**  
Prefiks nama log. Biarkan parameter ini kosong untuk memantau semua file.  
Tipe: String  
Nilai yang valid: Untuk daftar nilai yang didukung, lihat [FileSystemWatcherFilter Properti di Pustaka](http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.filter.aspx) MSDN.  
Wajib: Tidak

**Arus**  
Setiap tipe data yang akan diunggah, bersama dengan tujuan untuk data (CloudWatch atau CloudWatch Log). Misalnya, untuk mengirim penghitung kinerja yang ditentukan di bawah `"Id": "PerformanceCounter"` ke CloudWatch tujuan yang ditentukan di bawah`"Id": "CloudWatch"`, masukkan **"PerformanceCounter,CloudWatch"**. Demikian pula, untuk mengirim log kustom, log ETW, dan log sistem ke tujuan Log yang CloudWatch ditentukan di bawah`"Id": "ETW"`, masukkan **“(ETW), CloudWatchLogs**”. Selain itu, Anda dapat mengirim penghitung kinerja yang sama atau berkas log ke lebih dari satu tujuan. Misalnya, untuk mengirim log aplikasi ke dua tujuan berbeda yang Anda tentukan di bawah `"Id": "CloudWatchLogs"` dan`"Id": "CloudWatchLogs2"`, masukkan **"ApplicationEventLog, (CloudWatchLogs, CloudWatchLogs 2)”**.  
Tipe: String  
Nilai yang valid (sumber): `ApplicationEventLog` \$1 `CustomLogs` \$1 `ETW` \$1 `PerformanceCounter` \$1 `SystemEventLog` \$1 `SecurityEventLog`   
Nilai yang valid (tujuan): `CloudWatch` \$1 `CloudWatchLogs` \$1 `CloudWatch` *n* \$1 `CloudWatchLogs` *n*   
Wajib: Ya

**FullName**  
Nama lengkap pada komponen.  
Tipe: String  
Wajib: Ya

**Id**  
Mengidentifikasi sumber data atau tujuan. Pengidentifikasi ini harus unik dalam file konfigurasi.  
Tipe: String  
Diperlukan: Ya

**InstanceName**  
Nama penghitung kinerja instans. Jangan gunakan tanda bintang (\$1) untuk menunjukkan semua instans karena setiap komponen penghitung kinerja hanya mendukung satu metrik. Anda bisa, namun menggunakan **\$1Total**.  
Tipe: String  
Wajib: Ya

**Tingkat**  
Jenis pesan untuk dikirim ke Amazon CloudWatch.  
Tipe: String  
Nilai valid:   
+ **1** - Hanya pesan kesalahan yang diunggah.
+ **2** - Hanya pesan peringatan yang diunggah.
+ **4** - Hanya pesan informasi yang diunggah.
Anda dapat menambahkankan nilai-nilainya bersamaan untuk menyertakan lebih dari satu jenis pesan. Misalnya, **3** berarti bahwa pesan kesalahan (**1**) dan pesan peringatan (**2**) disertakan. Nilai dari **7** berarti bahwa pesan kesalahan (**1**), pesan peringatan (**2**), dan pesan informasi (**4**) disertakan.  
Wajib: Ya  
Log keamanan Windows harus diatur pada tingkat ke 7.

**LineCount**  
Jumlah baris di header untuk mengidentifikasi berkas log. Sebagai contoh, berkas log IIS memiliki header yang hampir identik. Anda bisa memasukkan **3**, yang akan membaca tiga baris pertama header berkas log untuk mengidentifikasinya. Dalam file log IIS, baris ketiga adalah tanggal dan stempel waktu, yang berbeda antara file log.  
Jenis: Integer  
Wajib: Tidak

**LogDirectoryPath**  
Untuk CustomLogs, jalur tempat log disimpan di instans EC2 Anda. Untuk log IIS, folder tempat log IIS disimpan untuk situs individual (misalnya, **C:\$1\$1 inetpub\$1\$1 logs\$1\$1\$1\$1** W3SVC). LogFiles *n* Untuk log IIS, hanya format log W3C yang mendukung. IIS, NCSA, dan format kustom yang tidak mendukung.   
Tipe: String  
Diperlukan: Ya

**LogGroup**  
Nama untuk grup log Anda. Nama ini ditampilkan di layar **Grup Log** di CloudWatch konsol.  
Tipe: String  
Diperlukan: Ya

**LogName**  
Nama file log.  

1. Untuk menemukan nama log, di Event Viewer, di panel navigasi, pilih **Log Aplikasi dan Layanan**.

1. Dalam daftar log, klik kanan log yang ingin Anda unggah (misalnya, `Microsoft` > > `Windows` `Backup` >`Operational`), lalu pilih **Buat Tampilan Kustom**.

1. Di **Buat Tampilan Khusus** kotak dialog, pilih **XML** tab. **LogName**Ada di tag <Select Path=> (misalnya,). `Microsoft-Windows-Backup` Salin teks ini ke dalam **LogName**parameter.
Tipe: String  
Nilai valid: `Application` \$1 `Security` \$1 `System` \$1 `Microsoft-Windows-WinINet/Analytic`  
Wajib: Ya

**LogStream**  
Pengaliran log tujuan. Jika Anda menggunakan **\$1instance\$1id\$1**, yaitu default-nya, instans ID pada instans ini digunakan sebagai nama stream log.  
Tipe: String  
Nilai yang valid: `{instance_id}` \$1 `{hostname}` \$1 `{ip_address}` *<log\$1stream\$1name>*  
Jika Anda memasukkan nama aliran log yang belum ada, CloudWatch Log secara otomatis membuatnya untuk Anda. Anda dapat menggunakan string literal atau variabel yang telah ditetapkan (**\$1instance\$1id\$1**, **\$1hostname\$1**, **\$1ip\$1address\$1**, atau kombinasi dari ketiga untuk menentukan nama pengaliran log.  
Nama aliran log yang ditentukan dalam parameter ini ditampilkan di **Grup Log > Aliran untuk *<YourLogStream>*** layar di CloudWatch konsol.  
Wajib: Ya

**MetricName**  
 CloudWatch Metrik yang Anda inginkan data kinerja disertakan di bawah.  
Jangan gunakan karakter khusus dalam nama. Jika Anda melakukannya, metrik dan alarm terkait mungkin tidak berfungsi.
Tipe: String  
Diperlukan: Ya

**NameSpace**  
Namespace metrik di mana Anda ingin penulisan data penghitungan kinerja.  
Tipe: String  
Diperlukan: Ya

**PollInterval**  
Berapa detik berlalu sebelum penghitung kinerja baru dan data log diunggah.  
Jenis: Integer  
Nilai valid: Atur ini dalam 5 detik atau lebih. Disarankan lima belas detik (00:00:15).  
Wajib: Ya

**Region**  
 Wilayah AWS Tempat Anda ingin mengirim data log. Meskipun Anda dapat mengirim penghitung kinerja ke Wilayah yang berbeda dari tempat Anda mengirim data log Anda, kami sarankan Anda menetapkan parameter ini untuk Wilayah yang sama di mana instans Anda berjalan.  
Tipe: String  
Nilai yang valid: Wilayah IDs yang Wilayah AWS didukung oleh Systems Manager dan CloudWatch Log, seperti`us-east-2`,`eu-west-1`, dan`ap-southeast-1`. Untuk daftar yang Wilayah AWS didukung oleh setiap layanan, lihat [Titik Akhir Layanan Amazon CloudWatch Logs dan titik akhir](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html#cwl_region) [layanan Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) di. *Referensi Umum Amazon Web Services*   
Wajib: Ya

**SecretKey**  
Kunci akses rahasia Anda. Properti ini diperlukan kecuali Anda telah meluncurkan instans Anda menggunakan IAM role.  
Tipe: String  
Wajib: Tidak

**startType**  
Nyalakan atau matikan CloudWatch pada instance.  
Tipe: String  
Nilai yang valid: `Enabled` \$1 `Disabled`  
Wajib: Ya

**TimestampFormat**  
Format waktu yang ingin Anda gunakan. Untuk daftar nilai yang mendukung, lihat [Custom Date and Time Format Strings](http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx) di Perpustakaan MSDN.  
Tipe: String  
Diperlukan: Ya

**TimeZoneKind**  
Memberikan informasi zona waktu ketika tidak ada informasi zona waktu yang disertakan dalam stempel waktu log Anda. Jika parameter ini dibiarkan kosong dan jika stempel waktu Anda tidak menyertakan informasi zona waktu, CloudWatch Log default ke zona waktu lokal. Parameter ini diabaikan jika stempel waktu Anda sudah berisi informasi zona waktu.  
Tipe: String  
Nilai yang valid: `Local` \$1 `UTC`  
Wajib: Tidak

**Unit**  
Unit pengukuran yang tepat untuk metrik.  
Tipe: String  
Nilai yang valid: Detik \$1 Mikrodetik \$1 Milidetik \$1 Byte \$1 Kilobyte \$1 Megabyte \$1 Gigabyte \$1 Terabyte \$1 Bit \$1 Kilobit \$1 Megabit \$1 Gigabit \$1 Terabit \$1 Persen \$1 Hitungan \$1 \$1 \$1 \$1 \$1 \$1 \$1 \$1 Bytes/Second Kilobytes/Second Megabytes/Second Gigabytes/Second Terabytes/Second Bits/Second Kilobits/Second Megabits/Second Gigabits/Second Terabits/Second Count/Second   
Wajib: Ya

## `aws:configureDocker`
<a name="aws-configuredocker"></a>

(Skema versi 2.0 atau yang lebih baru) Mengkonfigurasi instans untuk bekerja dengan kontainer dan Docker. Plugin ini didukung pada sebagian besar varian Linux dan sistem Windows Server operasi.

### Sintaksis
<a name="configuredocker-syntax"></a>

#### Skema 2.2
<a name="configuredocker-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:configureDocker
parameters:
  action:
    description: "(Required) The type of action to perform."
    type: String
    default: Install
    allowedValues:
    - Install
    - Uninstall
mainSteps:
- action: aws:configureDocker
  name: configureDocker
  inputs:
    action: "{{ action }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:configureDocker plugin",
  "parameters": {
    "action": {
      "description": "(Required) The type of action to perform.",
      "type": "String",
      "default": "Install",
      "allowedValues": [
        "Install",
        "Uninstall"
      ]
    }
  },
  "mainSteps": [
    {
      "action": "aws:configureDocker",
      "name": "configureDocker",
      "inputs": {
        "action": "{{ action }}"
      }
    }
  ]
}
```

------

### Masukan
<a name="configuredocker-properties"></a>

**tindakan**  
Jenis tindakan yang harus dilakukan.  
Jenis: Enum  
Nilai valid: `Install` \$1 `Uninstall`  
Wajib: Ya

## `aws:configurePackage`
<a name="aws-configurepackage"></a>

(Skema versi 2.0 atau yang lebih baru) Instal atau hapus instalan paket. AWS Systems Manager Distributor Anda dapat menginstal versi terbaru, versi default, atau versi paket yang Anda tentukan. Paket yang AWS disediakan juga didukung. Plugin ini menjalankan Windows Server dan sistem operasi Linux, namun tidak semua paket yang tersedia didukung pada sistem operasi Linux.

 AWS Paket yang tersedia untuk Windows Server meliputi:`AWSPVDriver`,,`AWSNVMe`,`AwsEnaNetworkDriver`,`AwsVssComponents`,`AmazonCloudWatchAgent`,`CodeDeployAgent`, dan `AWSSupport-EC2Rescue.`

 AWS Paket yang tersedia untuk sistem operasi Linux meliputi:`AmazonCloudWatchAgent`,`CodeDeployAgent`, dan`AWSSupport-EC2Rescue`.

### Sintaksis
<a name="configurepackage-syntax"></a>

#### Skema 2.2
<a name="configurepackage-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:configurePackage
parameters:
  name:
    description: "(Required) The name of the AWS package to install or uninstall."
    type: String
  action:
    description: "(Required) The type of action to perform."
    type: String
    default: Install
    allowedValues:
    - Install
    - Uninstall
  ssmParameter:
    description: "(Required) Argument stored in Parameter Store."
    type: String
    default: "{{ ssm:parameter_store_arg }}"
mainSteps:
- action: aws:configurePackage
  name: configurePackage
  inputs:
    name: "{{ name }}"
    action: "{{ action }}"
    additionalArguments: 
      "{\"SSM_parameter_store_arg\": \"{{ ssmParameter }}\", \"SSM_custom_arg\": \"myValue\"}"
```

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

```
{
   "schemaVersion": "2.2",
   "description": "aws:configurePackage",
   "parameters": {
      "name": {
         "description": "(Required) The name of the AWS package to install or uninstall.",
         "type": "String"
      },
      "action": {
         "description": "(Required) The type of action to perform.",
         "type": "String",
         "default": "Install",
         "allowedValues": [
            "Install",
            "Uninstall"
         ]
      },
      "ssmParameter": {
         "description": "(Required) Argument stored in Parameter Store.",
         "type": "String",
         "default": "{{ ssm:parameter_store_arg }}"
      }
   },
   "mainSteps": [
      {
         "action": "aws:configurePackage",
         "name": "configurePackage",
         "inputs": {
            "name": "{{ name }}",
            "action": "{{ action }}",
            "additionalArguments": "{\"SSM_parameter_store_arg\": \"{{ ssmParameter }}\", \"SSM_custom_arg\": \"myValue\"}"
         }
      }
   ]
}
```

------

### Masukan
<a name="configurepackage-properties"></a>

**name**  
Nama AWS paket untuk menginstal atau menghapus instalasi. Paket-paket yang tersedia meliputi: `AWSPVDriver`, `AwsEnaNetworkDriver`, `AwsVssComponents`, dan `AmazonCloudWatchAgent`.  
Tipe: String  
Wajib: Ya

**tindakan**  
Menginstal atau menghapus paket.  
Jenis: Enum  
Nilai valid: `Install` \$1 `Uninstall`  
Wajib: Ya

**installationType**  
Jenis instalasi untuk menjalankan. Jika Anda menentukan `Uninstall and reinstall`, paket benar-benar dihapus, dan kemudian diinstal ulang. Aplikasi ini tidak tersedia sampai penginstalan ulang selesai. Jika Anda menentukan `In-place update`, hanya file baru atau diubah yang ditambahkan ke instalasi yang ada sesuai dengan petunjuk yang Anda berikan dalam skrip pembaruan. Aplikasi tetap tersedia selama proses pembaruan. `In-place update`Opsi ini tidak didukung untuk paket AWS-published. `Uninstall and reinstall`adalah nilai default.  
Jenis: Enum  
Nilai valid: `Uninstall and reinstall` \$1 `In-place update`  
Wajib: Tidak

**additionalArguments**  
String JSON dari parameter tambahan yang akan disediakan untuk menginstal, menghapus instalasi, atau memperbarui skrip Anda. Setiap parameter harus diawali dengan `SSM_`. Anda dapat mereferensikan Parameter Store parameter dalam argumen tambahan Anda dengan menggunakan konvensi`{{ssm:parameter-name}}`. Untuk menggunakan parameter tambahan dalam skrip install, uninstall, atau update, referensi parameter Anda harus sebagai variabel lingkungan menggunakan sintaks yang sesuai untuk sistem operasi. Misalnya, di PowerShell, Anda mereferensikan `SSM_arg` argumen sebagai`$Env:SSM_arg`. Tidak ada batas jumlah argumen yang Anda tentukan, tetapi input argumen tambahan memiliki batas karakter 4096. Batas ini mencakup semua kunci dan nilai yang Anda tentukan.  
Jenis: StringMap  
Wajib: Tidak

**versi**  
Versi tertentu dari paket untuk menginstal atau menghapus instalasi. Jika memasang, sistem memasang versi terbaru yang diterbitkan, secara default. Jika menghapus instalasi, sistem menghapus instalasi versi yang dipasang pada masa ini, secara default. Jika tidak ada versi yang diinstal ditemukan, versi terbaru yang dipublikasi telah diunduh, dan tindakan uninstall dijalankan.  
Tipe: String  
Wajib: Tidak

## `aws:domainJoin`
<a name="aws-domainJoin"></a>

Bergabung dengan instans EC2 untuk domain. Plugin ini berjalan di Linux dan Sistem operasi Windows Server. Plugin ini mengubah nama host untuk instance Linux ke format EC2 AMAZ-. *XXXXXXX* *Untuk informasi selengkapnya tentang bergabung dengan instans EC2, lihat [Menggabungkan Instans EC2 ke Direktori AWS Microsoft AD Terkelola Anda di Panduan](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_join_instance.html) Administrasi AWS Directory Service .*

### Sintaksis
<a name="domainJoin-syntax"></a>

#### Skema 2.2
<a name="domainJoin-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:domainJoin
parameters:
  directoryId:
    description: "(Required) The ID of the directory."
    type: String
  directoryName:
    description: "(Required) The name of the domain."
    type: String
  directoryOU:
    description: "(Optional) The organizational unit to assign the computer object to."
    type: String
  dnsIpAddresses:
    description: "(Required) The IP addresses of the DNS servers for your directory."
    type: StringList
  hostname:
    description: "(Optional) The hostname you want to assign to the node."
    type: String
mainSteps:
- action: aws:domainJoin
  name: domainJoin
  inputs:
    directoryId: "{{ directoryId }}"
    directoryName: "{{ directoryName }}"
    directoryOU: "{{ directoryOU }}"
    dnsIpAddresses: "{{ dnsIpAddresses }}"
    hostname: "{{ hostname }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:domainJoin",
  "parameters": {
    "directoryId": {
      "description": "(Required) The ID of the directory.",
      "type": "String"
    },
    "directoryName": {
      "description": "(Required) The name of the domain.",
      "type": "String"
    },
    "directoryOU": {
        "description": "(Optional) The organizational unit to assign the computer object to.",
        "type": "String"
      },
    "dnsIpAddresses": {
      "description": "(Required) The IP addresses of the DNS servers for your directory.",
      "type": "StringList"
    },
    "hostname": {
        "description": "(Optional) The hostname you want to assign to the node.",
        "type": "String"
      }
  },
  "mainSteps": [
    {
      "action": "aws:domainJoin",
      "name": "domainJoin",
      "inputs": {
        "directoryId": "{{ directoryId }}",
        "directoryName": "{{ directoryName }}",
        "directoryOU":"{{ directoryOU }}",
        "dnsIpAddresses":"{{ dnsIpAddresses }}",
        "hostname":"{{ hostname }}"
      }
    }
  ]
}
```

------

#### Skema 1.2
<a name="domainJoin-syntax-1.2"></a>

------
#### [ YAML ]

```
---
runtimeConfig:
  aws:domainJoin:
    properties:
      directoryId: "{{ directoryId }}"
      directoryName: "{{ directoryName }}"
      directoryOU: "{{ directoryOU }}"
      dnsIpAddresses: "{{ dnsIpAddresses }}"
```

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

```
{
   "runtimeConfig":{
      "aws:domainJoin":{
         "properties":{
            "directoryId":"{{ directoryId }}",
            "directoryName":"{{ directoryName }}",
            "directoryOU":"{{ directoryOU }}",
            "dnsIpAddresses":"{{ dnsIpAddresses }}"
         }
      }
   }
}
```

------

### Sifat-sifat
<a name="domainJoin-properties"></a>

**directoryId**  
ID direktori.  
Tipe: String  
Wajib: Ya  
Contoh: "directoryId": "d-1234567890"

**directoryName**  
Nama domain.  
Tipe: String  
Wajib: Ya  
Contoh: "directoryName": "example.com"

**directoryOU**  
Unit organisasi (OU).  
Tipe: String  
Wajib: Tidak  
Contoh: "directoryOU": "OU=test,DC=example,DC=com"

**dnsIpAddresses**  
Alamat IP dari server DNS.  
Jenis: StringList  
Wajib: Ya  
Contoh: "dnsIpAddresses“: [" 198.51.100.1", "198.51.100.2"]

**hostname**  
Nama host yang ingin Anda tetapkan ke node. Jika tidak disediakan, tidak ada perubahan nama untuk Windows Server instance, sedangkan instance Linux akan menggunakan pola penamaan default. Jika disediakan, Windows Server instance akan menggunakan nilai yang diberikan persis, sedangkan untuk instance Linux berfungsi sebagai awalan (kecuali `keepHostName` disetel ke “true”).  
Tipe: String  
Wajib: Tidak

**keepHostName**  
Menentukan apakah nama host diubah untuk instance Linux saat bergabung ke domain. Ini adalah parameter khusus Linux. Secara default (tanpa input ke`hostname`,`hostnameNumAppendDigits`, dan dengan `keepHostName` sebagai “false”), host Linux akan diganti namanya menjadi pola EC2 AMAZ-XXXXXX. Ketika disetel ke “true”, itu menyimpan nama host asli dan mengabaikan input ke dan. `hostname` `hostnameNumAppendDigits`  
Tipe: Boolean  
Wajib: Tidak

**hostnameNumAppendDigit**  
Mendefinisikan jumlah digit numerik acak untuk ditambahkan setelah nilai hostname. Ini adalah parameter khusus Linux dan digunakan bersama dengan parameter. `hostname` Itu diabaikan jika `hostname` tidak disediakan.  
Tipe: String  
Nilai yang diizinkan: 1 hingga 5  
Wajib: Tidak

### Contoh
<a name="domainJoin-examples"></a>

Sebagai contoh, lihat [Menggabungkan Instans Amazon EC2 ke AWS Managed Microsoft AD dalam Panduan AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ec2-join-aws-domain.html) *Administrasi*.

## `aws:downloadContent`
<a name="aws-downloadContent"></a>

(Skema versi 2.0 atau yang lebih baru) Unduh dokumen dan skrip SSM dari lokasi terpencil. GitHub Enterpriserepositori tidak didukung. Plugin ini didukung oleh Linux dan Sistem operasi Windows Server.

### Sintaksis
<a name="downloadContent-syntax"></a>

#### Skema 2.2
<a name="downloadContent-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:downloadContent
parameters:
  sourceType:
    description: "(Required) The download source."
    type: String
  sourceInfo:
    description: "(Required) The information required to retrieve the content from
      the required source."
    type: StringMap
mainSteps:
- action: aws:downloadContent
  name: downloadContent
  inputs:
    sourceType: "{{ sourceType }}"
    sourceInfo: "{{ sourceInfo }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:downloadContent",
  "parameters": {
    "sourceType": {
    "description": "(Required) The download source.",
    "type": "String"
  },
  "sourceInfo": {
    "description": "(Required) The information required to retrieve the content from the required source.",
    "type": "StringMap"
    }
  },
  "mainSteps": [
    {
      "action": "aws:downloadContent",
      "name": "downloadContent",
      "inputs": {
        "sourceType":"{{ sourceType }}",
        "sourceInfo":"{{ sourceInfo }}"
      }
    }
  ]
}
```

------

### Masukan
<a name="downloadContent-inputs"></a>

**sourceType**  
Sumber unduhan. Systems Manager mendukung jenis sumber berikut untuk men-download skrip dan dokumen SSM: `GitHub`, `Git`, `HTTP`, `S3`, dan `SSMDocument`.  
Tipe: String  
Wajib: Ya

**sourceInfo**  
Informasi yang diperlukan untuk mengambil konten dari sumber yang diperlukan.  
Jenis: StringMap  
Wajib: Ya  
 **Untuk SourceType tentukan yang `GitHub,` berikut:**   
+ owner: Pemilik repositori.
+ repositori: Nama repositori.
+ jalur: Jalur ke file atau direktori yang ingin Anda unduh.
+ getOptions: Pilihan tambahan untuk mengambil konten dari cabang selain cabang utama atau dengan komit repositori tertentu. getOptions dapat dihilangkan jika Anda menggunakan komit terbaru di cabang utama. Jika repositori Anda dibuat setelah 1 Oktober 2020 cabang default mungkin diberi nama main (utama) dan bukan master (utama). Dalam hal ini, Anda perlu menentukan nilai untuk parameter GetOptions.

  Parameter ini menggunakan format berikut:
  + cabang: refs/kepala/*branch\$1name*

    Nilai default-nya `master`.

    Untuk menentukan cabang non-default gunakan format berikut:

    cabang: refs/kepala/*branch\$1name*
  + CommitiD: *commitID*

    Nilai default-nya `head`.

    Untuk menggunakan versi dokumen SSM Anda di komit selain yang terbaru, tentukan ID komit penuh. Contoh:

    ```
    "getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",
    ```
+ TokenInfo: Parameter Systems Manager ( SecureStringparameter) tempat Anda menyimpan informasi token akses GitHub Anda, dalam format. `{{ssm-secure:secure-string-token-name}}`
**catatan**  
`tokenInfo`Bidang ini adalah satu-satunya bidang plugin dokumen SSM yang mendukung SecureString parameter. SecureString parameter tidak didukung untuk bidang lain, atau untuk plugin dokumen SSM lainnya.

```
{
    "owner":"TestUser",
    "repository":"GitHubTest",
    "path":"scripts/python/test-script",
    "getOptions":"branch:master",
    "tokenInfo":"{{ssm-secure:secure-string-token}}"
}
```
 **Untuk SourceType, Anda `Git` harus menentukan yang berikut ini:**   
+ repositori

  URL repositori Git ke file atau direktori yang ingin Anda unduh.

  Tipe: String
Selain itu, Anda dapat menentukan parameter opsional berikut:  
+ GetOptions

  Pilihan tambahan untuk mengambil konten dari cabang selain cabang utaman atau dari komit tertentu dalam repositori. GetOptions dapat dihilangkan jika Anda menggunakan komit terbaru di cabang utama.

  Tipe: String

  Parameter ini menggunakan format berikut:
  + cabang: refs/kepala/*branch\$1name*

    Nilai default-nya `master`.

    `"branch"` diperlukan hanya jika dokumen SSM Anda disimpan di cabang selain `master`. Contoh:

    ```
    "getOptions": "branch:refs/heads/main"
    ```
  + CommitiD: *commitID*

    Nilai default-nya `head`.

    Untuk menggunakan versi dokumen SSM Anda di komit selain yang terbaru, tentukan ID komit penuh. Contoh:

    ```
    "getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",
    ```
+ pribadi SSHKey

  Kunci SSH untuk digunakan saat menghubungkan ke `repository` yang Anda tentukan. Anda dapat menggunakan format berikut untuk referensi parameter `SecureString` pada nilai kunci SSH Anda: `{{ssm-secure:your-secure-string-parameter}}`.

  Tipe: String
+ skipHostKeyMemeriksa

  Menentukan nilai StrictHostKeyChecking opsi saat menghubungkan ke yang `repository` Anda tentukan. Nilai default-nya adalah `false`.

  Jenis: Boolean
+ nama pengguna

  Nama pengguna yang digunakan saat menghubungkan ke `repository` yang Anda tentukan menggunakan HTTP. Anda dapat menggunakan format berikut untuk referensi parameter `SecureString` untuk nilai nama pengguna Anda: `{{ssm-secure:your-secure-string-parameter}}`.

  Tipe: String
+ Kata sandi

  Kata sandi digunakan saat menghubungkan ke `repository` yang Anda tentukan menggunakan HTTP. Anda dapat menggunakan format berikut untuk referensi parameter `SecureString` untuk nilai kata sandi Anda: `{{ssm-secure:your-secure-string-parameter}}`.

  Tipe: String
 **Untuk SourceType, Anda `HTTP` harus menentukan yang berikut ini:**   
+ url

  URL ke file atau direktori yang ingin Anda unduh.

  Tipe: String
Selain itu, Anda dapat menentukan parameter opsional berikut:  
+ allowInsecureDownload

  Tentukan apakah unduhan dapat dilakukan melalui sambungan yang tidak dienkripsi dengan Secure Socket Layer (SSL) atau Transport Layer (TLS). Nilai default-nya adalah `false`. Kami tidak menyarankan untuk melakukan unduhan tanpa enkripsi. Jika Anda memilih untuk melakukannya, Anda menanggung semua risiko yang berkaitan. Keamanan adalah tanggung jawab bersama antara Anda AWS dan Anda. Hal ini digambarkan sebagai model tanggung jawab bersama. Untuk mempelajari informasi lebih lanjut, lihat [Model tanggung jawab bersama](https://aws.amazon.com/compliance/shared-responsibility-model/).

  Jenis: Boolean
+ authMethod

  Tentukan apakah nama pengguna dan kata sandi yang digunakan untuk otentikasi saat menghubungkan ke `url` yang Anda tentukan. Jika Anda menentukan `Basic` atau `Digest`, Anda harus memberikan nilai untuk parameter `username` dan `password`. Untuk menggunakan `Digest` metode ini, SSM Agent versi 3.0.1181.0 atau yang lebih baru harus diinstal pada instance Anda. `Digest`Metode ini mendukung MD5 dan SHA256 enkripsi.

  Tipe: String

  Nilai valid: `None` \$1 `Basic` \$1 `Digest`
+ nama pengguna

  Nama pengguna yang digunakan saat menghubungkan ke `url` yang anda tentukan menggunakan Autentikasi `Basic`. Anda dapat menggunakan format berikut untuk referensi parameter `SecureString` untuk nilai nama pengguna Anda: `{{ssm-secure:your-secure-string-parameter}}`.

  Tipe: String
+ Kata sandi

  Kata sandi untuk digunakan saat menghubungkan ke `url` yang anda tentukan menggunakan Autentikasi `Basic`. Anda dapat menggunakan format berikut untuk referensi parameter `SecureString` untuk nilai kata sandi Anda: `{{ssm-secure:your-secure-string-parameter}}`.

  Tipe: String
 **Untuk SourceType, `S3` tentukan yang berikut ini:**   
+ jalur: URL ke file atau direktori yang ingin Anda unduh dari Amazon S3.
Saat mengunduh file dari bucket S3, file.etag dihasilkan di direktori unduhan.

```
{
    "path": "https://s3.amazonaws.com/amzn-s3-demo-bucket/powershell/helloPowershell.ps1" 
}
```
 ***Untuk SourceType, `SSMDocument` tentukan salah satu dari berikut ini:***   
+ Nama: Nama dan versi dokumen dalam format berikut: `name:version`. Versi adalah opsional. 

  ```
  {
      "name": "Example-RunPowerShellScript:3" 
  }
  ```
+ Nama: ARN untuk dokumen dalam format berikut: `arn:aws:ssm:region:account_id:document/document_name`

  ```
  {
     "name":"arn:aws:ssm:us-east-2:3344556677:document/MySharedDoc"
  }
  ```

**destinationPath**  
Jalur lokal opsional instans ada ditempat Anda ingin mengunduh file. Jika Anda tidak menentukan jalurnya, konten diunduh ke jalur relatif pada ID perintah Anda.  
Tipe: String  
Wajib: Tidak

## `aws:psModule`
<a name="aws-psModule"></a>

Instal PowerShell modul pada instans Amazon EC2. Plugin ini hanya berjalan pada Sistem operasi Windows Server.

### Sintaksis
<a name="psModule-syntax"></a>

#### Skema 2.2
<a name="psModule-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:psModule
parameters:
  source:
    description: "(Required) The URL or local path on the instance to the application
      .zip file."
    type: String
mainSteps:
- action: aws:psModule
  name: psModule
  inputs:
    source: "{{ source }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:psModule",
  "parameters": {
    "source": {
      "description": "(Required) The URL or local path on the instance to the application .zip file.",
      "type": "String"
    }
  },
  "mainSteps": [
    {
      "action": "aws:psModule",
      "name": "psModule",
      "inputs": {
        "source": "{{ source }}"
      }
    }
  ]
}
```

------

#### Skema 1.2
<a name="domainJoin-syntax-1.2"></a>

------
#### [ YAML ]

```
---
runtimeConfig:
  aws:psModule:
    properties:
    - runCommand: "{{ commands }}"
      source: "{{ source }}"
      sourceHash: "{{ sourceHash }}"
      workingDirectory: "{{ workingDirectory }}"
      timeoutSeconds: "{{ executionTimeout }}"
```

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

```
{
   "runtimeConfig":{
      "aws:psModule":{
         "properties":[
            {
               "runCommand":"{{ commands }}",
               "source":"{{ source }}",
               "sourceHash":"{{ sourceHash }}",
               "workingDirectory":"{{ workingDirectory }}",
               "timeoutSeconds":"{{ executionTimeout }}"
            }
         ]
      }
   }
}
```

------

### Sifat-sifat
<a name="psModule-properties"></a>

**runCommand**  
 PowerShell Perintah untuk menjalankan setelah modul diinstal.  
Jenis: StringList  
Wajib: Tidak

**sumber**  
URL atau jalur lokal pada instans untuk aplikasi file `.zip`.  
Tipe: String  
Wajib: Ya

**sourceHash**  
 SHA256 Hash dari `.zip` file tersebut.  
Tipe: String  
Wajib: Tidak

**timeoutSeconds**  
Waktu dalam detik untuk perintah yang harus diselesaikan sebelum dianggap telah gagal.  
Tipe: String  
Wajib: Tidak

**workingDirectory**  
Jalur direktori kerja pada instans Anda.  
Tipe: String  
Wajib: Tidak

## `aws:refreshAssociation`
<a name="aws-refreshassociation"></a>

(Skema versi 2.0 atau yang terbaru) Segarkan (berlaku paksa) sebuah asosiasi sesuai permintaan. Tindakan ini akan mengubah status sistem berdasarkan pada apa yang ditentukan dalam asosiasi yang dipilih atau semua asosiasi yang terikat pada target. Plugin ini berjalan pada Sistem operasi Linux dan Microsoft Windows Server.

### Sintaksis
<a name="refreshassociation-syntax"></a>

#### Skema 2.2
<a name="refreshassociation-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:refreshAssociation
parameters:
  associationIds:
    description: "(Optional) List of association IDs. If empty, all associations bound
      to the specified target are applied."
    type: StringList
mainSteps:
- action: aws:refreshAssociation
  name: refreshAssociation
  inputs:
    associationIds:
    - "{{ associationIds }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:refreshAssociation",
  "parameters": {
    "associationIds": {
      "description": "(Optional) List of association IDs. If empty, all associations bound to the specified target are applied.",
      "type": "StringList"
    }
  },
  "mainSteps": [
    {
      "action": "aws:refreshAssociation",
      "name": "refreshAssociation",
      "inputs": {
        "associationIds": [
          "{{ associationIds }}"
        ]
      }
    }
  ]
}
```

------

### Masukan
<a name="refreshassociation-properties"></a>

**associationIds**  
Daftar asosiasi IDs. Jika kosong, semua asosiasi yang berhubungan dengan target yang ditentukan telah diterapkan.  
Jenis: StringList  
Wajib: Tidak

## `aws:runDockerAction`
<a name="aws-rundockeraction"></a>

(Skema versi 2.0 atau yang terbaru) Menjalankan tindakan Docker pada kontainer. Plugin ini berjalan pada Sistem operasi Linux dan Microsoft Windows Server.

### Sintaksis
<a name="rundockeraction-syntax"></a>

#### Skema 2.2
<a name="rundockeraction-syntax-2.2"></a>

------
#### [ YAML ]

```
---
mainSteps:
- action: aws:runDockerAction
  name: RunDockerAction
  inputs:
    action: "{{ action }}"
    container: "{{ container }}"
    image: "{{ image }}"
    memory: "{{ memory }}"
    cpuShares: "{{ cpuShares }}"
    volume: "{{ volume }}"
    cmd: "{{ cmd }}"
    env: "{{ env }}"
    user: "{{ user }}"
    publish: "{{ publish }}"
    workingDirectory: "{{ workingDirectory }}"
    timeoutSeconds: "{{ timeoutSeconds }}"
```

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

```
{
   "mainSteps":[
      {
         "action":"aws:runDockerAction",
         "name":"RunDockerAction",
         "inputs":{
            "action":"{{ action }}",
            "container":"{{ container }}",
            "image":"{{ image }}",
            "memory":"{{ memory }}",
            "cpuShares":"{{ cpuShares }}",
            "volume":"{{ volume }}",
            "cmd":"{{ cmd }}",
            "env":"{{ env }}",
            "user":"{{ user }}",
            "publish":"{{ publish }}",
            "workingDirectory": "{{ workingDirectory }}",
            "timeoutSeconds": "{{ timeoutSeconds }}"
         }
      }
   ]
}
```

------

### Masukan
<a name="rundockeraction-properties"></a>

**tindakan**  
Jenis tindakan yang harus dilakukan.  
Tipe: String  
Wajib: Ya

**kontainer**  
ID kontainer Docker.  
Tipe: String  
Wajib: Tidak

**image**  
Nama gambar Docker.  
Tipe: String  
Wajib: Tidak

**cmd**  
Perintah kontainer.  
Tipe: String  
Wajib: Tidak

**memori**  
Batas memori kontainer.  
Tipe: String  
Wajib: Tidak

**cpuShares**  
Pembagian CPU kontainer (berat relatif).  
Tipe: String  
Wajib: Tidak

**volume**  
Pemasangan volume kontainer.  
Jenis: StringList  
Wajib: Tidak

**env**  
Variabel lingkungan kontainer.  
Tipe: String  
Wajib: Tidak

**pengguna**  
Nama pengguna kontainer.  
Tipe: String  
Wajib: Tidak

**menerbitkan**  
Port kontainer diterbitkan.  
Tipe: String  
Wajib: Tidak

**workingDirectory**  
Jalur ke direktori kerja pada node terkelola Anda.  
Tipe: String  
Wajib: Tidak

**timeoutSeconds**  
Waktu dalam detik untuk perintah yang harus diselesaikan sebelum dianggap telah gagal.  
Tipe: String  
Wajib: Tidak

## `aws:runDocument`
<a name="aws-rundocument"></a>

(Skema versi 2.0 atau yang terbaru) Menjalankan dokumen SSM yang disimpan di Systems Manager atau pada berbagi lokal. Anda dapat menggunakan plugin ini dengan plugin [`aws:downloadContent`](#aws-downloadContent) untuk mengunduh dokumen SSM dari lokasi jarak jauh untuk berbagi lokal, dan kemudian jalankannya. Plugin ini didukung oleh Linux dan Sistem operasi Windows Server. Plugin ini tidak mendukung menjalankan `AWS-UpdateSSMAgent` dokumen atau dokumen apa pun yang menggunakan `aws:updateSsmAgent` plugin.

### Sintaksis
<a name="rundocument-syntax"></a>

#### Skema 2.2
<a name="aws-rundocument-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:runDocument
parameters:
  documentType:
    description: "(Required) The document type to run."
    type: String
    allowedValues:
    - LocalPath
    - SSMDocument
mainSteps:
- action: aws:runDocument
  name: runDocument
  inputs:
    documentType: "{{ documentType }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:runDocument",
  "parameters": {
    "documentType": {
      "description": "(Required) The document type to run.",
      "type": "String",
      "allowedValues": [
        "LocalPath",
        "SSMDocument"
      ]
    }
  },
  "mainSteps": [
    {
      "action": "aws:runDocument",
      "name": "runDocument",
      "inputs": {
        "documentType": "{{ documentType }}"
      }
    }
  ]
}
```

------

### Masukan
<a name="rundocument-properties"></a>

**documentType**  
Jenis dokumen untuk dijalankan. Anda dapat menjalankan dokumen lokal (`LocalPath`) atau dokumen yang disimpan dalam Systems Manager (`SSMDocument`).  
Tipe: String  
Wajib: Ya

**documentPath**  
Jalur ke dokumen. Jika `documentType` adalah `LocalPath`, kemudian tentukan jalur ke dokumen pada berbagi lokal. Jika `documentType` adalah `SSMDocument`, kemudian tentukan nama dokumen.  
Tipe: String  
Wajib: Tidak

**documentParameters**  
Parameter untuk dokumen.  
Jenis: StringMap  
Wajib: Tidak

## `aws:runPowerShellScript`
<a name="aws-runPowerShellScript"></a>

Jalankan PowerShell skrip atau tentukan jalur ke skrip yang akan dijalankan. Plugin ini berjalan pada Microsoft Windows Server dan sistem operasi Linux.

### Sintaksis
<a name="runPowerShellScript-syntax"></a>

#### Skema 2.2
<a name="runPowerShellScript-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:runPowerShellScript
parameters:
  commands:
    type: String
    description: "(Required) The commands to run or the path to an existing script
      on the instance."
    default: Write-Host "Hello World"
mainSteps:
- action: aws:runPowerShellScript
  name: runPowerShellScript
  inputs:
    timeoutSeconds: '60'
    runCommand:
    - "{{ commands }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:runPowerShellScript",
  "parameters": {
    "commands": {
      "type": "String",
      "description": "(Required) The commands to run or the path to an existing script on the instance.",
      "default": "Write-Host \"Hello World\""
    }
  },
  "mainSteps": [
    {
      "action": "aws:runPowerShellScript",
      "name": "runPowerShellScript",
      "inputs": {
        "timeoutSeconds": "60",
        "runCommand": [
          "{{ commands }}"
        ]
      }
    }
  ]
}
```

------

#### Skema 1.2
<a name="runPowerShellScript-syntax-1.2"></a>

------
#### [ YAML ]

```
---
runtimeConfig:
  aws:runPowerShellScript:
    properties:
    - id: 0.aws:runPowerShellScript
      runCommand: "{{ commands }}"
      workingDirectory: "{{ workingDirectory }}"
      timeoutSeconds: "{{ executionTimeout }}"
```

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

```
{
   "runtimeConfig":{
      "aws:runPowerShellScript":{
         "properties":[
            {
               "id":"0.aws:runPowerShellScript",
               "runCommand":"{{ commands }}",
               "workingDirectory":"{{ workingDirectory }}",
               "timeoutSeconds":"{{ executionTimeout }}"
            }
         ]
      }
   }
}
```

------

### Sifat-sifat
<a name="runPowerShellScript-properties"></a>

**runCommand**  
Tentukan perintah untuk menjalankan atau jalur skrip yang ada pada instans.  
Jenis: StringList  
Wajib: Ya

**timeoutSeconds**  
Waktu dalam detik untuk perintah yang harus diselesaikan sebelum dianggap telah gagal. Ketika batas waktu tercapai, Systems Manager berhenti mengeksekusi perintah.  
Tipe: String  
Wajib: Tidak

**workingDirectory**  
Jalur direktori kerja pada instans Anda.  
Tipe: String  
Wajib: Tidak

## `aws:runShellScript`
<a name="aws-runShellScript"></a>

Jalankan skrip shell Linux atau tentukan jalur untuk menjalankan skrip. Plugin ini hanya berjalan pada sistem operasi Linux.

### Sintaksis
<a name="runShellScript-syntax"></a>

#### Skema 2.2
<a name="runShellScript-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:runShellScript
parameters:
  commands:
    type: String
    description: "(Required) The commands to run or the path to an existing script
      on the instance."
    default: echo Hello World
mainSteps:
- action: aws:runShellScript
  name: runShellScript
  inputs:
    timeoutSeconds: '60'
    runCommand:
    - "{{ commands }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:runShellScript",
  "parameters": {
    "commands": {
      "type": "String",
      "description": "(Required) The commands to run or the path to an existing script on the instance.",
      "default": "echo Hello World"
    }
  },
  "mainSteps": [
    {
      "action": "aws:runShellScript",
      "name": "runShellScript",
      "inputs": {
        "timeoutSeconds": "60",
        "runCommand": [
          "{{ commands }}"
        ]
      }
    }
  ]
}
```

------

#### Skema 1.2
<a name="runShellScript-syntax-1.2"></a>

------
#### [ YAML ]

```
---
runtimeConfig:
  aws:runShellScript:
    properties:
    - runCommand: "{{ commands }}"
      workingDirectory: "{{ workingDirectory }}"
      timeoutSeconds: "{{ executionTimeout }}"
```

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

```
{
   "runtimeConfig":{
      "aws:runShellScript":{
         "properties":[
            {
               "runCommand":"{{ commands }}",
               "workingDirectory":"{{ workingDirectory }}",
               "timeoutSeconds":"{{ executionTimeout }}"
            }
         ]
      }
   }
}
```

------

### Sifat-sifat
<a name="runShellScript-properties"></a>

**runCommand**  
Tentukan perintah untuk menjalankan atau jalur skrip yang ada pada instans.  
Jenis: StringList  
Wajib: Ya

**timeoutSeconds**  
Waktu dalam detik untuk perintah yang harus diselesaikan sebelum dianggap telah gagal. Ketika batas waktu tercapai, Systems Manager berhenti mengeksekusi perintah.  
Tipe: String  
Wajib: Tidak

**workingDirectory**  
Jalur direktori kerja pada instans Anda.  
Tipe: String  
Wajib: Tidak

## `aws:softwareInventory`
<a name="aws-softwareinventory"></a>

(Skema versi 2.0 atau yang terbaru) Kumpulkan metadata tentang aplikasi, file, dan konfigurasi pada instans terkelola Anda. Plugin ini berjalan pada sistem operasi Linux dan Microsoft Windows Server. Saat Anda mengonfigurasi koleksi inventaris, Anda mulai dengan membuat AWS Systems Manager State Manager asosiasi. Systems Manager mengumpulkan data inventaris saat asosiasi dijalankan. Jika Anda tidak membuat asosiasi terlebih dahulu, dan mencoba untuk meminta plugin `aws:softwareInventory` sistem akan menampilkan kesalahan berikut:

```
The aws:softwareInventory plugin can only be invoked via ssm-associate.
```

Instans hanya dapat mengonfigurasi satu asosiasi inventaris dalam satu waktu. Jika Anda mengonfigurasi instans dengan dua atau beberapa asosiasi, inventaris tidak berjalan dan tidak ada data inventaris yang dikumpulkan. Untuk informasi lebih lanjut tentang pengumpulan inventaris, lihat [AWS Systems Manager Inventaris](systems-manager-inventory.md).

### Sintaksis
<a name="softwareinventory-syntax"></a>

#### Skema 2.2
<a name="softwareinventory-syntax-2.2"></a>

------
#### [ YAML ]

```
---
mainSteps:
- action: aws:softwareInventory
  name: collectSoftwareInventoryItems
  inputs:
    applications: "{{ applications }}"
    awsComponents: "{{ awsComponents }}"
    networkConfig: "{{ networkConfig }}"
    files: "{{ files }}"
    services: "{{ services }}"
    windowsRoles: "{{ windowsRoles }}"
    windowsRegistry: "{{ windowsRegistry}}"
    windowsUpdates: "{{ windowsUpdates }}"
    instanceDetailedInformation: "{{ instanceDetailedInformation }}"
    customInventory: "{{ customInventory }}"
```

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

```
{
   "mainSteps":[
      {
         "action":"aws:softwareInventory",
         "name":"collectSoftwareInventoryItems",
         "inputs":{
            "applications":"{{ applications }}",
            "awsComponents":"{{ awsComponents }}",
            "networkConfig":"{{ networkConfig }}",
            "files":"{{ files }}",
            "services":"{{ services }}",
            "windowsRoles":"{{ windowsRoles }}",
            "windowsRegistry":"{{ windowsRegistry}}",
            "windowsUpdates":"{{ windowsUpdates }}",
            "instanceDetailedInformation":"{{ instanceDetailedInformation }}",
            "customInventory":"{{ customInventory }}"
         }
      }
   ]
}
```

------

### Masukan
<a name="softwareinventory-properties"></a>

**aplikasi**  
(Opsional) Kumpulkan metadata untuk aplikasi yang diinstal.  
Tipe: String  
Wajib: Tidak

**awsComponents**  
(Opsional) Kumpulkan metadata untuk AWS komponen seperti. amazon-ssm-agent  
Tipe: String  
Wajib: Tidak

**file**  
(Opsional, memerlukan SSM Agent versi 2.2.64.0 atau yang lebih baru) Kumpulkan metadata untuk file, termasuk nama file, file waktu dibuat, file waktu terakhir diubah dan diakses, dan ukuran file, untuk beberapa nama. Untuk informasi lebih lanjut tentang pengumpulan file inventaris, lihat [Menggunakan file dan inventaris registri Windows](inventory-file-and-registry.md).  
Tipe: String  
Wajib: Tidak

**NetworkConfig**  
(Opsional) Kumpulkan metadata untuk konfigurasi jaringan.  
Tipe: String  
Wajib: Tidak

**Info Penagihan**  
(Opsional) Kumpulkan metadata untuk detail platform yang terkait dengan kode penagihan. AMI  
Tipe: String  
Wajib: Tidak

**windowsUpdates**  
(Opsional) Kumpulkan metadata untuk semua pembaruan Windows.  
Tipe: String  
Wajib: Tidak

**instanceDetailedInformation**  
(Opsional) Kumpulkan lebih banyak informasi instans yang disediakan oleh plugin inventaris default (`aws:instanceInformation`), termasuk model CPU, kecepatan, dan jumlah inti, untuk beberapa nama.  
Tipe: String  
Wajib: Tidak

**layanan**  
(Opsional, hanya OS Windows, memerlukan SSM Agent versi 2.2.64.0 atau yang lebih baru) Kumpulkan metadata untuk konfigurasi layanan.  
Tipe: String  
Wajib: Tidak

**windowsRegistry**  
(Opsional, hanya OS Windows, memerlukan SSM Agent versi 2.2.64.0 atau yang lebih baru) Kumpulkan kunci dan nilai Windows Registry. Anda dapat memilih jalur kunci dan mengumpulkan semua kunci dan nilai secara berulang. Anda juga dapat mengumpulkan kunci registri tertentu dan nilainya untuk jalur tertentu. Inventaris mengumpulkan jalur, nama, jenis, dan nilai kunci. Untuk informasi lebih lanjut tentang pengumpulan inventaris Registri Windows, lihat [Menggunakan file dan inventaris registri Windows](inventory-file-and-registry.md).  
Tipe: String  
Wajib: Tidak

**windowsRoles**  
(Opsional, hanya OS Windows, memerlukan SSM Agent versi 2.2.64.0 atau yang lebih baru) Kumpulkan metadata untuk konfigurasi peran Microsoft Windows.  
Tipe: String  
Wajib: Tidak

**customInventory**  
(Opsional) Kumpulkan data inventaris kustom. Untuk informasi lebih lanjut tentang inventaris kustom, lihat [Menggunakan inventaris kustom](inventory-custom.md)  
Tipe: String  
Wajib: Tidak

**customInventoryDirectory**  
(Opsional) Kumpulkan data inventaris khusus dari direktori yang ditentukan. Untuk informasi lebih lanjut tentang inventaris kustom, lihat [Menggunakan inventaris kustom](inventory-custom.md)  
Tipe: String  
Wajib: Tidak

## `aws:updateAgent`
<a name="aws-updateagent"></a>

Perbarui layanan EC2 Config ke versi terbaru atau tentukan versi yang lebih lama. Plugin ini hanya berjalan di Sistem operasi Microsoft Windows Server. *Untuk informasi selengkapnya tentang layanan EC2 Config, lihat [Mengonfigurasi Instans Windows menggunakan layanan EC2 Config (lama) di Panduan Pengguna Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2config-service.html).*

### Sintaksis
<a name="updateagent-syntax"></a>

#### Skema 2.2
<a name="updateagent-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:updateAgent
mainSteps:
- action: aws:updateAgent
  name: updateAgent
  inputs:
    agentName: Ec2Config
    source: https://s3.{Region}.amazonaws.com/aws-ssm-{Region}/manifest.json
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:updateAgent",
  "mainSteps": [
    {
      "action": "aws:updateAgent",
      "name": "updateAgent",
      "inputs": {
        "agentName": "Ec2Config",
        "source": "https://s3.{Region}.amazonaws.com/aws-ssm-{Region}/manifest.json"
      }
    }
  ]
}
```

------

#### Skema 1.2
<a name="updateagent-syntax-1.2"></a>

------
#### [ YAML ]

```
---
runtimeConfig:
  aws:updateAgent:
    properties:
      agentName: Ec2Config
      source: https://s3.{Region}.amazonaws.com/aws-ssm-{Region}/manifest.json
      allowDowngrade: "{{ allowDowngrade }}"
      targetVersion: "{{ version }}"
```

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

```
{
   "runtimeConfig":{
      "aws:updateAgent":{
         "properties":{
            "agentName":"Ec2Config",
            "source":"https://s3.{Region}.amazonaws.com/aws-ssm-{Region}/manifest.json",
            "allowDowngrade":"{{ allowDowngrade }}",
            "targetVersion":"{{ version }}"
         }
      }
   }
}
```

------

### Sifat-sifat
<a name="updateagent-properties"></a>

**agentName**  
EC2Config. Ini adalah nama agen yang menjalankan layanan EC2 Config.  
Tipe: String  
Wajib: Ya

**allowDowngrade**  
Izinkan layanan EC2 Config diturunkan ke versi sebelumnya. Jika diatur ke false, hanya layanan (default) yang dapat ditingkatkan ke versi yang terbaru. Jika diatur ke true, tentukan versi sebelumnya.   
Tipe: Boolean  
Wajib: Tidak

**sumber**  
Lokasi di mana Systems Manager menyalin versi EC2 Config untuk diinstal. Anda tidak dapat mengubah lokasi ini.  
Tipe: String  
Wajib: Ya

**targetVersion**  
Versi tertentu dari layanan EC2 Config yang akan diinstal. Jika tidak ditentukan, layanan akan diperbarui ke versi terbaru.  
Tipe: String  
Wajib: Tidak

## `aws:updateSsmAgent`
<a name="aws-updatessmagent"></a>

Perbarui SSM Agent ke versi terbaru atau tentukan versi yang lebih lama. Plugin ini berjalan di Linux dan sistem operasi Windows Server. Untuk informasi selengkapnya, lihat [Bekerja dengan SSM Agent](ssm-agent.md). 

### Sintaksis
<a name="updateSSMagent-syntax"></a>

#### Skema 2.2
<a name="updateaSSMgent-syntax-2.2"></a>

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: aws:updateSsmAgent
parameters:
  allowDowngrade:
    default: 'false'
    description: "(Optional) Allow the Amazon SSM Agent service to be downgraded to
      an earlier version. If set to false, the service can be upgraded to newer versions
      only (default). If set to true, specify the earlier version."
    type: String
    allowedValues:
    - 'true'
    - 'false'
mainSteps:
- action: aws:updateSsmAgent
  name: updateSSMAgent
  inputs:
    agentName: amazon-ssm-agent
    source: https://s3.{Region}.amazonaws.com/amazon-ssm-{Region}/ssm-agent-manifest.json
    allowDowngrade: "{{ allowDowngrade }}"
```

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

```
{
  "schemaVersion": "2.2",
  "description": "aws:updateSsmAgent",
  "parameters": {
    "allowDowngrade": {
      "default": "false",
      "description": "(Required) Allow the Amazon SSM Agent service to be downgraded to an earlier version. If set to false, the service can be upgraded to newer versions only (default). If set to true, specify the earlier version.",
      "type": "String",
      "allowedValues": [
        "true",
        "false"
      ]
    }
  },
  "mainSteps": [
    {
      "action": "aws:updateSsmAgent",
      "name": "awsupdateSsmAgent",
      "inputs": {
        "agentName": "amazon-ssm-agent",
        "source": "https://s3.{Region}.amazonaws.com/amazon-ssm-{Region}/ssm-agent-manifest.json",
        "allowDowngrade": "{{ allowDowngrade }}"
      }
    }
  ]
}
```

------

#### Skema 1.2
<a name="updateaSSMgent-syntax-1.2"></a>

------
#### [ YAML ]

```
---
runtimeConfig:
  aws:updateSsmAgent:
    properties:
    - agentName: amazon-ssm-agent
      source: https://s3.{Region}.amazonaws.com/aws-ssm-{Region}/manifest.json
      allowDowngrade: "{{ allowDowngrade }}"
```

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

```
{
   "runtimeConfig":{
      "aws:updateSsmAgent":{
         "properties":[
            {
               "agentName":"amazon-ssm-agent",
               "source":"https://s3.{Region}.amazonaws.com/aws-ssm-{Region}/manifest.json",
               "allowDowngrade":"{{ allowDowngrade }}"
            }
         ]
      }
   }
}
```

------

### Sifat-sifat
<a name="updateSSMagent-properties"></a>

**agentName**  
amazon-ssm-agent. Ini adalah nama agen Systems Manager yang memproses permintaan dan menjalankan perintah pada instance.  
Tipe: String  
Wajib: Ya

**allowDowngrade**  
Izinkan SSM Agent untuk diturunkan ke versi sebelumnya. Jika diatur ke false, hanya agen (default) yang dapat ditingkatkan ke versi yang terbaru. Jika diatur ke true, tentukan versi sebelumnya.   
Tipe: Boolean  
Wajib: Ya

**sumber**  
Lokasi di mana Systems Manager menyalin SSM Agent versi yang akan diinstal. Anda tidak dapat mengubah lokasi ini.  
Tipe: String  
Wajib: Ya

**targetVersion**  
Versi khusus SSM Agent untuk menginstal. Jika tidak ditentukan, agen akan diperbarui ke versi terbaru.  
Tipe: String  
Wajib: Tidak