

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à.

# Convalida i modelli con `cloudformation-validate`
<a name="cloudformation-validate"></a>

Il [`cloudformation-validate` progetto open source ](https://github.com/aws-cloudformation/cloudformation-validate) controlla i CloudFormation modelli JSON e YAML localmente ed è disponibile su. GitHub Può trovare una struttura del modello non valida, riferimenti non funzionanti, problemi di sicurezza e problemi relativi alle best practice. Ogni risultato include il problema, la sua gravità e la sua posizione nel modello.

Lo strumento include le regole e le definizioni CloudFormation delle risorse necessarie, quindi viene eseguito senza accesso alla rete o AWS credenziali dopo l'installazione.

**Topics**
+ [Scegli un metodo di convalida](#cloudformation-validate-ways-to-use)
+ [Installa lo strumento da riga di comando](#cloudformation-validate-install)
+ [Esegui la convalida](#cloudformation-validate-run)
+ [Aggiungi regole personalizzate](#cloudformation-validate-custom-rules)
+ [Incorpora la libreria di convalida](#cloudformation-validate-library)
+ [Utilizzo con AWS CDK](#cloudformation-validate-cdk)
+ [Comprendi l'ambito di convalida](#cloudformation-validate-scope)

## Scegli un metodo di convalida
<a name="cloudformation-validate-ways-to-use"></a>
+ **Riga di comando**: `cfn-validate` esegui per controllare uno o tutti i modelli in una directory da un terminale o da una build automatica.
+ **Libreria**: aggiungi il validatore a un'applicazione Rust Node.js, Python, Go o JVM ed elabora i risultati nel tuo codice.
+ **AWS CDK**— Convalida automaticamente i modelli dopo che CDK li ha sintetizzati.
+ **Regole personalizzate**: aggiungi controlli scritti in CEL, Rego o nel linguaggio delle regole Guard. Per i formati e gli esempi di regole supportati, consulta il riferimento alle regole [ personalizzate ](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/src/CUSTOM_RULES.md) su GitHub. Per la sintassi delle regole Guard, [Convalida i modelli con Guard](cloudformation-guard.md) consulta questa guida.

## Installa lo strumento da riga di comando
<a name="cloudformation-validate-install"></a>

Apri la `cfn-validate` versione [https://github.com/aws-cloudformation/cloudformation-validate/releases/latest](https://github.com/aws-cloudformation/cloudformation-validate/releases/latest) più recente GitHub e scarica il `cfn-validate` file per il tuo sistema operativo e processore. Segui la guida [ all'](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/INSTALLATION.md)installazione GitHub per rinominare il file in`cfn-validate`, aggiungerlo al tuo `PATH` e verificare il file scaricato.

## Esegui la convalida
<a name="cloudformation-validate-run"></a>

Il comando utilizza la seguente sintassi:

```
cfn-validate {{TEMPLATE_OR_DIRECTORY}} [OPTIONS]
```

Seleziona un modello:

```
cfn-validate template.yaml
```

Passa una directory per controllare ricorsivamente ogni file `.yaml``.yml`, e: `.json`

```
cfn-validate ./templates/
```

Il comando scrive un report di convalida JSON strutturato sullo standard output. Da utilizzare `--format standard` per un output compatto o `--format detailed` per il report dettagliato predefinito.

Il comando `0` viene restituito quando non rileva errori o diagnosi irreversibili, `1` quando rileva errori o diagnosi irreversibili e `2` per un errore di utilizzo o di inizializzazione, ad esempio un'opzione non valida o un file che non esiste.

Per tutti i motori, i filtri, i formati di output e i parametri, vedi il riferimento CLI su. [`cfn-validate`](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/src/cfn-validate/README.md) GitHub

## Aggiungi regole personalizzate
<a name="cloudformation-validate-custom-rules"></a>

Usalo `--rule-source` per caricare un file di regole Rego o CEL personalizzato. `--guard-rule-source`Da utilizzare per caricare un file o una directory di regole Guard. Puoi ripetere entrambe le opzioni per caricare più sorgenti di regole:

```
cfn-validate template.yaml --rule-source ./rules/my-rule.rego
cfn-validate template.yaml --guard-rule-source ./guard-rules/
```

Per i formati e gli esempi delle regole, consulta [ Custom Rules Reference ](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/src/CUSTOM_RULES.md) su GitHub.

## Incorpora la libreria di convalida
<a name="cloudformation-validate-library"></a>

Installa il pacchetto pubblicato per il tuo linguaggio di programmazione per eseguire gli stessi controlli offline dall'applicazione. Crea un motore di convalida una sola volta, riutilizzalo per più modelli ed elabora la diagnostica strutturata restituita per ogni modello. Puoi anche configurare regole CEL, Rego o Guard personalizzate tramite l'API della libreria.


| Lingua | Pacchetto pubblicato | API ed esempi | 
| --- | --- | --- | 
| Rust | [`cloudformation-validate`su crates.io ](https://crates.io/crates/cloudformation-validate) | [API ed esempi di Rust ](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/src/bindings-rust/README.md) | 
| Node.js | [`@aws/cloudformation-validate`su npm ](https://www.npmjs.com/package/@aws/cloudformation-validate) | [Node.js API ed esempi ](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/src/bindings-wasm/README.md) | 
| Python | [`cloudformation-validate`su PyPI ](https://pypi.org/project/cloudformation-validate/) | [API ed esempi in Python ](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/src/bindings-python/README.md) | 
| Go | [CloudFormation Convalida il modulo Go ](https://pkg.go.dev/github.com/aws-cloudformation/cloudformation-validate/src/bindings-go/go) | [API Go ed esempi ](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/src/bindings-go/README.md) | 
| JVM (Java o Kotlin) | [`software.amazon.cloudformation:cloudformation-validate`su Maven Central ](https://central.sonatype.com/artifact/software.amazon.cloudformation/cloudformation-validate) | [API JVM ed esempi ](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/src/bindings-jvm/README.md) | 

Per le istruzioni di installazione e le piattaforme supportate, consulta la guida all'installazione con associazione [ linguistica. ](https://github.com/aws-cloudformation/cloudformation-validate/blob/main/INSTALLATION.md#language-bindings)

Per esempi completi in ogni lingua e collegamenti a ciascuna guida API, vedi [ Embedding as a library ](https://github.com/aws-cloudformation/cloudformation-validate#embedding-as-a-library) nella documentazione del progetto su GitHub.

## Utilizzo con AWS CDK
<a name="cloudformation-validate-cdk"></a>

Se si utilizza AWS CDK, non è necessario installare il validatore separatamente. La libreria di AWS CDK costrutti include un'impostazione predefinita `CloudFormationValidatePlugin` che esegue automaticamente gli stessi controlli dopo aver sintetizzato i modelli. CloudFormation 

```
cdk synth
```

CDK riporta i possibili errori di implementazione e i risultati delle best practice con i risultati della convalida. È possibile configurare in modo esplicito `CloudFormationValidatePlugin` quando si desidera aggiungere regole Rego o Guard personalizzate.

Per la configurazione del plug-in, i riconoscimenti e i report di convalida, vedi Convalida dei [ modelli e delle policy nell'API Reference. ](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib-readme.html#template-and-policy-validation) *AWS CDK *

## Comprendi l'ambito di convalida
<a name="cloudformation-validate-scope"></a>

Per i limiti della convalida locale e le misure da adottare prima della distribuzione, consulta. [Comprendi l'ambito di convalida](template-guide.md#template-validation-scope)