

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la [documentazione di Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Elementi di dati e parametri
<a name="documents-syntax-data-elements-parameters"></a>

Questo argomento descrive gli elementi di dati utilizzati nei documenti SSM. La versione dello schema utilizzata per creare un documento definisce la sintassi e gli elementi di dati accettati. Per i documenti di comando è consigliabile utilizzare la versione dello schema 2.2 o successiva. I runbook Automation utilizzano la versione dello schema 0.3. Inoltre, i runbook Automation supportano l'uso di Markdown, un linguaggio di markup, che consente di aggiungere descrizioni in stile wiki ai documenti e alle singole fasi all'interno del documento. Per ulteriori informazioni sull'utilizzo di Markdown, consulta [Utilizzo di Markdown nella console](https://docs.aws.amazon.com/general/latest/gr/aws-markdown.html) nella *Guida alle operazioni di base di Console di gestione AWS *.

La sezione seguente descrive gli elementi di dati che si possono includere in un documento SSM.

## Elementi di dati di primo livello
<a name="top-level"></a>

**schemaVersion**  
La versione dello schema da utilizzare.  
Tipo: Versione  
Obbligatorio: sì

**description**  
Le informazioni fornite per descrivere lo scopo del documento. È inoltre possibile utilizzare questo campo per specificare se un parametro richiede un valore per l'esecuzione di un documento o se è facoltativo fornire un valore per il parametro. I parametri obbligatori e facoltativi possono essere visualizzati negli esempi in questo argomento.  
▬Tipo: stringa  
Obbligatorio: no

**parametri**  
Una struttura che definisce i parametri accettati dal documento.   
Per una maggiore sicurezza durante la gestione dei parametri delle stringhe, è possibile utilizzare l'interpolazione delle variabili di ambiente specificando la proprietà di `interpolationType`. Se impostato su `ENV_VAR`, l'agente crea una variabile di ambiente denominata `SSM_parameter-name`, che contiene il valore del parametro.  
Di seguito è riportato un esempio di parametro che utilizza una variabile di ambiente di `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` non è tecnicamente necessario, se un documento SSM non utilizza le doppie parentesi graffe: `{{ }}` 
Riguardo ai parametri che si utilizzano spesso, è consigliabile archiviarli in Parameter Store, uno strumento di AWS Systems Manager. Puoi quindi definire i parametri nel tuo documento che si riferiscono ai parametri Parameter Store come valore predefinito. Per fare riferimento al parametro Parameter Store, utilizza la sintassi seguente.   

```
{{ssm:parameter-name}}
```
È possibile utilizzare un parametro che fa riferimento al parametro Parameter Store allo stesso modo di qualsiasi altro parametro del documento. Nell'esempio seguente, il valore predefinito per il parametro `commands` è il valore del parametro Parameter Store `myShellCommands`. Specificando il valore del parametro `commands` come stringa `runCommand`, il documento esegue i comandi memorizzati nel parametro `myShellCommands`.  

```
---
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 }}"
          ]
        }
      }
    ]
  }
```
Puoi fare riferimento ai parametri `String`, `StringList` e Parameter Store nella sezione `parameters` del documento. Non si può fare riferimento ai parametri `SecureString` Parameter Store.
Per ulteriori informazioni su Parameter Store, consultare [AWS Systems Manager Parameter Store](systems-manager-parameter-store.md).  
Tipo: Struttura  
La struttura `parameters` accetta i seguenti campi e valori:  
+ `type`: (Obbligatorio) I valori consentiti sono i seguenti: `String`, `StringList`, `Integer`, `Boolean`, `MapList` e `StringMap`. Per visualizzare esempi di ciascun tipo, consulta [Esempi `type` di parametri di documenti SSM](#top-level-properties-type) nella sezione successiva.
**Nota**  
I documenti di tipo di comando supportano solo i tipi di parametri `String` e `StringList`.
+ `description`: (facoltativo) una descrizione del parametro.
+ `default`: (facoltativo) il valore predefinito del parametro o un riferimento a un parametro in Parameter Store.
+ `allowedValues`: (facoltativo) una matrice dei valori consentiti per il parametro. La definizione dei valori consentiti per il parametro convalida l'input dell'utente. Se un utente inserisce un valore non consentito, l'esecuzione non viene avviata.

------
#### [ 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`: (facoltativo) un'espressione regolare che convalida se l'input dell'utente corrisponde al modello definito per il parametro. Se l'input dell'utente non corrisponde al modello consentito, l'esecuzione non viene avviata.
**Nota**  
Systems Manager esegue due convalide per `allowedPattern`. La prima convalida viene eseguita utilizzando la [libreria Java regex](https://docs.oracle.com/javase/8/docs/api/java/util/regex/package-summary.html) a livello di API quando si utilizza un documento. La seconda convalida viene eseguita su SSM Agent utilizzando la [libreria di GO regexp](https://pkg.go.dev/regexp) prima di elaborare il documento. 

------
#### [ 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`: (Facoltativo) Utilizzato per visualizzare un `textfield` o un `textarea` in Console di gestione AWS. `textfield`è una casella di testo a riga singola. `textarea`è un'area di testo su più righe.
+ `minItems`: (facoltativo) il numero minimo di elementi consentiti.
+ `maxItems`: (facoltativo) il numero massimo di elementi consentiti.
+ `minChars`: (facoltativo) il numero minimo di caratteri del parametro consentiti.
+ `maxChars`: (facoltativo) il numero massimo di caratteri del parametro consentiti.
+ `interpolationType`: (facoltativo) definisce come i valori dei parametri vengono elaborati prima dell'esecuzione del comando. Se impostato su `ENV_VAR`, il valore del parametro viene reso disponibile come variabile di ambiente denominata `SSM_parameter-name`. Questa funzionalità previene l'iniezione di comandi trattando i valori di parametro come stringhe letterali.

  Tipo: String

  Valori validi: `ENV_VAR`
Campo obbligatorio: no

**variables**  
(Solo versione 0.3 dello schema) Valori a cui è possibile fare riferimento o da aggiornare durante i passaggi di un runbook Automation. Le variabili sono simili ai parametri, ma presentano una differenza molto rilevante. Nel contesto di un runbook, i valori dei parametri sono statici mentre quelli delle variabili possono essere modificati. Quando si aggiorna il valore di una variabile, il tipo di dati deve corrispondere al tipo di dati definito. Per informazioni sull'aggiornamento dei valori delle variabili in un'automazione, consulta la pagina [`aws:updateVariable`: aggiorna un valore per una variabile di runbook](automation-action-update-variable.md)  
Tipo: Boolean \$1 Integer \$1 \$1 String \$1 \$1 MapList StringList StringMap  
Obbligatorio: no  

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

```
{
    "variables": [
        "payload": {
            "type": "StringMap",
            "default": "{}"
        }
    ]
}
```

**runtimeConfig**  
(Solo versione dello schema 1.2) La configurazione per l'istanza applicata da uno o più plugin di Systems Manager. Non è garantito che l'esecuzione dei plugin avvenga in sequenza.   
Tipo: Dictionary<String, > PluginConfiguration  
Obbligatorio: no

**mainSteps**  
(Solo versione dello schema 0.3, 2.0 e 2.2) Un oggetto che può includere più fasi (plugin). I plugin sono definiti all'interno delle fasi. Le fasi vengono eseguite nell'ordine sequenziale indicato nel documento.   
Tipo: Dictionary<String, > PluginConfiguration  
Obbligatorio: sì

**outputs**  
(Solo versione dello schema 0.3) Dati generati dall'esecuzione di questo documento che possono essere utilizzati in altri processi. Ad esempio, se il documento ne crea uno nuovoAMI, puoi specificare ". CreateImage ImageId"come valore di output, quindi utilizzate questo output per creare nuove istanze in una successiva esecuzione di automazione. Per ulteriori informazioni sugli output, consulta [Utilizzo degli output delle operazioni come input](automation-action-outputs-inputs.md).  
Tipo: dictionary<string, > OutputConfiguration  
Obbligatorio: no

**files**  
(Solo versione dello schema 0.3) I file di script (e i relativi checksum) collegati al documento ed eseguiti durante un'esecuzione dell'automazione. Si applica solo ai documenti che includono l'operazione `aws:executeScript` e per i quali gli allegati sono stati specificati in una o più fasi.   
Per ulteriori informazioni sui runtime supportati dai runbook Automation, vedere [`aws:executeScript`: esecuzione di uno script](automation-action-executeScript.md). Per ulteriori informazioni sull'inclusione di script nei runbook Automation, consultare [Utilizzo di script nei runbook](automation-document-script-considerations.md) e [Esperienza di progettazione visiva per i runbook Automation](automation-visual-designer.md).  
Quando si crea un runbook di automazione con allegati, è inoltre necessario specificare i file allegati utilizzando l'`--attachments`opzione (for AWS CLI) o `Attachments` (per API e SDK). È possibile specificare la posizione del file sia per i documenti SSM che per i file archiviati nei bucket Amazon Simple Storage Service (Amazon S3). Per ulteriori informazioni, consulta [Allegati](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateDocument.html#systemsmanager-CreateDocument-request-Attachments) nell'API Reference. AWS Systems Manager   

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

```
"files": {
    "launch.py": {
        "checksums": {
            "sha256": "18871b1311b295c43d0f...[truncated]...772da97b67e99d84d342ef4aEXAMPLE"
        }
    }
}
```
Tipo: dictionary<String, > FilesConfiguration  
Obbligatorio: no

## Esempi `type` di parametri di documenti SSM
<a name="top-level-properties-type"></a>

I tipi di parametri nei documenti SSM sono statici. Ciò significa che il tipo di parametro non può essere modificato dopo che è stato definito. Quando si utilizzano parametri con plugin del documento SSM, il tipo di parametro non può essere modificato dinamicamente all'interno dell'input di un plugin. Ad esempio, non è possibile fare riferimento a un parametro `Integer` all'interno dell'input `runCommand` del plugin `aws:runShellScript` perché questo input accetta una stringa o un elenco di stringhe. Per utilizzare un parametro per un input di plugin, il tipo di parametro deve corrispondere al tipo accettato. Ad esempio, è necessario specificare un tipo di parametro `Boolean` per l'input `allowDowngrade` del plugin `aws:updateSsmAgent`. Se il tipo di parametro non corrisponde al tipo di input per un plugin, il documento SSM non viene convalidato e il sistema non crea il documento. Questo vale anche quando si utilizzano parametri a valle all'interno degli input per altri plugin o azioni di automazione. AWS Systems Manager Ad esempio, non è possibile fare riferimento a un parametro di `StringList` nell'input `documentParameters` del plugin `aws:runDocument`. L'input di `documentParameters` accetta una mappa di stringhe anche se il tipo di parametro del documento SSM a valle è un parametro `StringList` e corrisponde al parametro a cui si fa riferimento.

Quando si utilizzano parametri con operazioni di automazione di , nella maggior parte dei casi i tipi di parametro non vengono convalidati quando si crea il documento SSM. Solo quando si utilizza l'operazione `aws:runCommand`, i tipi di parametro vengono convalidati quando si crea il documento SSM. In tutti gli altri casi, la convalida dei parametri avviene durante l'esecuzione dell'automazione quando l'input di un'operazione viene verificato prima dell'esecuzione. Ad esempio, se il parametro di input è `String` e si fa riferimento ad esso come valore per l'input `MaxInstanceCount` dell'operazione `aws:runInstances`, viene creato il documento SSM. Tuttavia, quando si esegue il documento, l'automazione non riesce durante la convalida dell'operazione `aws:runInstances` perché l'input `MaxInstanceCount` richiede un valore `Integer`.

Di seguito sono riportati alcuni esempi di ciascun parametro `type`.

Stringa  
Una sequenza di zero o più caratteri Unicode inclusa tra virgolette. Ad esempio, "i-1234567890abcdef0". Utilizza barre rovesciate come caratteri di escape.  
I parametri di stringa possono includere un campo di `interpolationType` opzionale con il valore `ENV_VAR`, per abilitare l'interpolazione delle variabili di ambiente per una maggiore sicurezza.  

```
---
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  
Un elenco di elementi String separati da virgole. Ad esempio, ["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"
}
```

Booleano  
Accetta solo `true` o `false`. Non accetta "true" o 0.  

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

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

Numero intero  
Numeri interi. Non accetta numeri decimali, ad esempio 3,14159, o numeri inclusi tra virgolette, ad esempio "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  
Mappatura di chiavi a valori. Le chiavi e i valori devono essere stringhe. Ad esempio, \$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  
Un elenco di oggetti. StringMap   

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

## Visualizzazione del contenuto del documento Command SSM
<a name="viewing-ssm-document-content"></a>

Per visualizzare in anteprima i parametri obbligatori e facoltativi per un documento di comando AWS Systems Manager (SSM), oltre alle azioni eseguite dal documento, è possibile visualizzare il contenuto del documento nella console Systems Manager.

**Per visualizzare il contenuto del documento Command SSM**

1. Apri la AWS Systems Manager console all'indirizzo [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Nel pannello di navigazione, scegli **Documenti**.

1. Nella casella di ricerca selezionare **Document type (Tipo di documento)** e quindi selezionare **Command (Comando)**.

1. Scegli il nome di un documento, quindi la scheda **Contenuto**. 

1. Nel campo del contenuto esaminare i parametri e i passaggi delle operazioni disponibili per il documento.

   Ad esempio, l'immagine seguente mostra che (1) `version` e (2) `allowDowngrade`sono parametri opzionali per il documento `AWS-UpdateSSMAgent` e che la prima operazione eseguita dal documento è (3) `aws:updateSsmAgent`.  
![\[Visualizzare il contenuto dei documenti SSM nella console di Systems Manager\]](http://docs.aws.amazon.com/it_it/systems-manager/latest/userguide/images/view-document-content.png)