CloudFormationRiferimento alle proprietà di configurazione di - AWS CloudFormation

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

CloudFormationRiferimento alle proprietà di configurazione di

Quando crei una pipeline CodePipeline, aggiungi un’operazione Deploy alla pipeline con CloudFormation come provider. Quindi, devi specificare l’operazione CloudFormation richiamata dalla pipeline e le impostazioni dell’operazione. In questo argomento vengono descritte le proprietà di configurazione di CloudFormation. Per specificare le proprietà, puoi utilizzare la console CodePipeline o creare un oggetto JSON da utilizzare per la AWS CLI, l’API CodePipeline o i modelli CloudFormation.

Proprietà di configurazione (console)

La console CodePipeline visualizza le proprietà di configurazione e indica le proprietà necessarie in base alla modalità di operazione scelta.

Nota

Quando crei una pipeline, puoi specificare solo le modalità operazione Create or update a stack (Crea o aggiorna uno stack) o Create or replace a change set (Crea o sostituisci un set di modifiche). Le proprietà nella sezione Advanced (Avanzate) sono disponibili solo quando modifichi una pipeline.

Action mode (Modalità operazione

L’operazione CloudFormation che CodePipeline richiama durante l’elaborazione della fase associata. Scegli una delle seguenti modalità operazione:

  • Create or replace a change set (Crea o sostituisci un set di modifiche) crea il set di modifiche, se non esistente, in base al nome dello stack e al modello che invii. Se il set di modifiche esiste, CloudFormation lo elimina e ne crea uno nuovo.

  • Create or update a stack (Crea o aggiorna uno stack) crea lo stack se lo stack specificato non esiste. Se lo stack esiste, CloudFormation lo aggiorna. Utilizza questa operazione per aggiornare gli stack esistenti. CodePipeline non sostituirà lo stack.

  • Delete a stack (Elimina uno stack) elimina uno stack. Se specifichi uno stack che non esiste, l’operazione viene completata senza l’eliminazione di uno stack.

  • Execute a change set (Esegui un set di modifiche) esegue un set di modifiche.

  • Replace a failed stack (Sostituisci uno stack non riuscito) crea lo stack se lo stack specificato non esiste. Se lo stack esiste e si trova nello stato non riuscito (indicato come ROLLBACK_COMPLETE, ROLLBACK_FAILED, CREATE_FAILED, DELETE_FAILED o UPDATE_ROLLBACK_FAILED), CloudFormation elimina lo stack e ne crea uno nuovo. Se lo stack non si trova nello stato non riuscito, CloudFormation lo aggiorna. Utilizza questa operazione per sostituire gli stack non riusciti senza effettuarne il ripristino o eseguire la relativa risoluzione di problemi. In genere questa modalità viene selezionata per il testing.

Nome stack

Il nome associato a uno stack esistente o a uno stack che desideri creare. Il nome deve essere univoco nella Regione AWS in cui si sta creando lo stack.

Nota

Il nome di uno stack può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfabetico e non può avere una lunghezza superiore a 128 caratteri.

Change set name (Modifica nome set

Il nome di un set di modifiche esistente o di uno nuovo che desideri creare per lo stack specificato.

Modello

La posizione di un file di modello CloudFormation, nel formato ArtifactName::TemplateFileName.

Template configuration (Configurazione modello

Posizione di un file di configurazione del modello, nel formato ArtifactName::TemplateConfigurationFileName. Il file di configurazione del modello può contenere i valori dei parametri del modello, una policy relativa allo stack e i tag. Se includi informazioni sensibili, come le password, limita l’accesso a questo file. Per ulteriori informazioni, consulta CloudFormation artefatti.

Funzionalità

Per gli stack che contengono determinate risorse, riconosci esplicitamente che CloudFormation potrebbe creare o aggiornare queste risorse. Ad esempio, devi specificare CAPABILITY_IAM se il modello dello stack include risorse AWS Identity and Access Management (IAM). Per ulteriori informazioni, consulta CreateStack API operation request parameters.

Se il tuo modello di stack include risorse IAM, devi specificare questa proprietà.

Puoi specificare più funzionalità.

Nome ruolo

Il nome del ruolo di servizio IAM che CloudFormation assume quando opera su risorse nello stack specificato.

Output file name (Nome file di output

Nella sezione Advanced (Avanzate) puoi specificare un nome di file di output, ad esempio CreateStackOutput.json, che CodePipeline aggiunge all’artefatto di output al termine dell’operazione specificata. L’artefatto di output contiene un file JSON con i contenuti della sezione Outputs del modello CloudFormation.

Se non specifichi un nome, CodePipeline non genera un artefatto di output.

Parameter overrides (Sostituzioni parametri

I parametri sono definiti nel modello e consentono di immettere valori personalizzati quando crei o aggiorni uno stack. Puoi specificare un oggetto JSON che sostituisce i valori dei parametri del modello nel file di configurazione del modello. Tutti i nomi dei parametri devono essere presenti nel modello di stack. Per ulteriori informazioni, consulta Sintassi dei Parameters del modello CloudFormation.

Nota

L’oggetto JSON che può essere archiviato nella proprietà ParameterOverrides deve avere una dimensione massima di 1 kilobyte.

È consigliabile utilizzare il file di configurazione del modello per specificare la maggior parte dei valori dei parametri. Utilizza le sostituzioni dei parametri per specificare solo i valori dei parametri dinamici. I parametri dinamici non sono noti finché non si esegue la pipeline.

L’esempio seguente definisce un valore per il parametro ParameterName utilizzando una funzione di sostituzione dei parametri. La funzione recupera un valore da un artefatto di input CodePipeline. Per ulteriori informazioni sulle funzioni di sostituzione dei parametri, consulta Utilizzo delle funzioni di sovrascrittura dei parametri con le pipeline CodePipeline .

{ "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]} }

Proprietà di configurazione (oggetto JSON)

Quando specifichi CloudFormation come provider per un’operazione di fase, definisci le seguenti proprietà nella proprietà Configuration. Utilizza l’oggetto JSON per la AWS CLI, l’API CodePipeline o i modelli CloudFormation. Per alcuni esempi, consulta Spiegazione passo per passo: creazione di una pipeline per stack di test e produzione e CloudFormationRiferimento alle proprietà di configurazione di .

ActionMode

L’operazione CloudFormation che CodePipeline richiama durante l’elaborazione della fase associata. Specifica solo una delle seguenti modalità operazione:

  • CHANGE_SET_EXECUTE esegue un set di modifiche.

  • CHANGE_SET_REPLACE crea il set di modifiche, se non esiste, in base al nome dello stack e al modello che invii. Se il set di modifiche esiste, CloudFormation lo elimina e ne crea uno nuovo.

  • CREATE_UPDATE crea lo stack se lo stack specificato non esiste. Se lo stack esiste, CloudFormation lo aggiorna. Utilizza questa operazione per aggiornare gli stack esistenti. CodePipeline non sostituirà lo stack.

  • DELETE_ONLY elimina uno stack. Se specifichi uno stack che non esiste, l’operazione viene completata senza l’eliminazione di uno stack.

  • REPLACE_ON_FAILURE crea uno stack se lo stack specificato non esiste. Se lo stack esiste e si trova nello stato non riuscito (indicato come ROLLBACK_COMPLETE, ROLLBACK_FAILED, CREATE_FAILED, DELETE_FAILED o UPDATE_ROLLBACK_FAILED), CloudFormation elimina lo stack e ne crea uno nuovo. Se lo stack non si trova nello stato non riuscito, CloudFormation lo aggiorna. Utilizza questa operazione per sostituire automaticamente gli stack non riusciti senza effettuarne il ripristino o eseguire la relativa risoluzione di problemi. In genere questa modalità viene selezionata per il testing.

Questa proprietà è obbligatoria.

Capabilities

Per gli stack che contengono determinate risorse, riconosci esplicitamente che CloudFormation potrebbe creare o aggiornare queste risorse. Ad esempio, devi specificare CAPABILITY_IAM se il modello dello stack include risorse AWS Identity and Access Management (IAM). Per ulteriori informazioni, consulta CreateStack API operation request parameters.

Questa proprietà è condizionale. Se il tuo modello di stack include risorse IAM, devi specificare questa proprietà.

Puoi specificare più funzionalità. L’esempio seguente aggiunge le proprietà CAPABILITY_IAM e CAPABILITY_AUTO_EXPAND al modello:

YAML
configuration: ActionMode: CHANGE_SET_REPLACE Capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND ChangeSetName: pipeline-changeset RoleArn: CloudFormation_Role_ARN StackName: my-pipeline-stack TemplateConfiguration: 'my-pipeline-stack::template-configuration.json' TemplatePath: 'my-pipeline-stack::template-export.yml'
JSON
"configuration": { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "pipeline-changeset", "RoleArn": "CloudFormation_Role_ARN", "StackName": "my-pipeline-stack", "TemplateConfiguration": "my-pipeline-stack::template-configuration.json", "TemplatePath": "my-pipeline-stack::template-export.yml" }
ChangeSetName

Il nome di un set di modifiche esistente o di uno nuovo che desideri creare per lo stack specificato.

Questa proprietà è obbligatoria per le seguenti modalità operazione: CHANGE_SET_REPLACE e CHANGE_SET_EXECUTE. La proprietà viene ignorata per tutte le altre modalità operazione.

OutputFileName

Un nome per il file di output, ad esempio CreateStackOutput.json. CodePipeline aggiunge il file all’artefatto di output dopo aver eseguito l’operazione specificata. L’artefatto di output contiene un file JSON con i contenuti della sezione Outputs del modello CloudFormation.

Questa proprietà è opzionale. Se non specifichi un nome, CodePipeline non genera un artefatto di output.

ParameterOverrides

I parametri sono definiti nel modello e consentono di immettere valori personalizzati quando crei o aggiorni uno stack. Puoi specificare un oggetto JSON che sostituisce i valori dei parametri del modello nel file di configurazione del modello. Tutti i nomi dei parametri devono essere presenti nel modello di stack. Per ulteriori informazioni, consulta Sintassi dei Parameters del modello CloudFormation.

L’esempio seguente aggiunge le sostituzioni dei parametri InstanceType e KeyName al modello:

YAML
configuration: ActionMode: CHANGE_SET_REPLACE Capabilities: CAPABILITY_NAMED_IAM ChangeSetName: pipeline-changeset ParameterOverrides: '{"InstanceType": "t2.small","KeyName": "my-keypair"}' RoleArn: CloudFormation_Role_ARN StackName: my-pipeline-stack TemplateConfiguration: 'my-pipeline-stack::template-configuration.json' TemplatePath: 'my-pipeline-stack::template-export.yml'
JSON
"configuration": { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM", "ChangeSetName": "pipeline-changeset", "ParameterOverrides": "{\"InstanceType\": \"t2.small\",\"KeyName\": \"my-keypair\"}", "RoleArn": "CloudFormation_Role_ARN", "StackName": "my-pipeline-stack", "TemplateConfiguration": "my-pipeline-stack::template-configuration.json", "TemplatePath": "my-pipeline-stack::template-export.yml" }
Nota

La dimensione massima per l’oggetto JSON che può essere archiviato nella proprietà ParameterOverrides è di 1 kilobyte.

È consigliabile utilizzare il file di configurazione del modello per specificare la maggior parte dei valori dei parametri. Utilizza le sostituzioni dei parametri per specificare solo i valori dei parametri dinamici. I valori dei parametri dinamici non sono noti finché non si esegue la pipeline.

L’esempio seguente definisce un valore per il parametro ParameterName utilizzando una funzione di sostituzione dei parametri. La funzione recupera un valore da un artefatto di input CodePipeline. Per ulteriori informazioni sulle funzioni di sostituzione dei parametri, consulta Utilizzo delle funzioni di sovrascrittura dei parametri con le pipeline CodePipeline .

{ "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]} }

Questa proprietà è opzionale.

RoleArn

Il nome della risorsa Amazon (ARN) del ruolo di servizio IAM che CloudFormation assume quando opera su risorse in uno stack.

Questa proprietà è obbligatoria per le seguenti modalità operazione: CREATE_UPDATE, REPLACE_ON_FAILURE, DELETE_ONLY e CHANGE_SET_REPLACE. RoleArn non viene applicata durante l’esecuzione di un set di modifiche. Se non utilizzi CodePipeline per creare il set di modifiche, assicurati che il set di modifiche o lo stack disponga di un ruolo associato.

StackName

Il nome di uno stack esistente o che desideri creare.

Questa proprietà è obbligatoria per tutte le altre modalità operazione.

TemplateConfiguration

TemplateConfiguration è il file di configurazione del modello. Includi il file in un artefatto di input per questa operazione. Il nome del file di configurazione del modello segue questo formato:

Artifactname::TemplateConfigurationFileName

Artifactname è il nome dell’artefatto di input come visualizzato in CodePipeline. Ad esempio, una fase di origine con il nome di artefatto di SourceArtifact e un nome file di test-configuration.json crea un nome TemplateConfiguration come mostrato in questo esempio:

"TemplateConfiguration": "SourceArtifact::test-configuration.json"

Il file di configurazione del modello può contenere i valori dei parametri del modello e una policy relativa allo stack. Se includi informazioni sensibili, come le password, limita l’accesso a questo file. Per un esempio di file di configurazione del modello, consulta CloudFormation artefatti.

Questa proprietà è opzionale.

TemplatePath

TemplatePath rappresenta il file di modello CloudFormation. Includi il file in un artefatto di input per questa operazione. Il nome del file segue questo formato:

Artifactname::TemplateFileName

Artifactname è il nome dell’artefatto di input come visualizzato in CodePipeline. Ad esempio, una fase di origine con il nome di artefatto di SourceArtifact e un nome file di template.yaml crea un nome TemplatePath come mostrato in questo esempio:

"TemplatePath": "SourceArtifact::template.yaml"

Questa proprietà è obbligatoria per le seguenti modalità operazione: CREATE_UPDATE, REPLACE_ON_FAILURE e CHANGE_SET_REPLACE. La proprietà viene ignorata per tutte le altre modalità operazione.

Consulta anche

Le risorse correlate seguenti possono rivelarsi utili durante l’utilizzo di questi parametri.