Referência de propriedades de configuração DO AWS CloudFormation
Ao criar um pipeline do CodePipeline, adicione uma ação Deploy
a esse pipeline com o AWS CloudFormation como provedor. Depois, especifique qual ação do AWS CloudFormation o pipeline invocará e as configurações da ação. Este tópico descreve as propriedades de configuração do AWS CloudFormation. Para especificar propriedades, você pode usar o console do CodePipeline ou pode criar um objeto JSON a ser usado para os modelos da AWS CLI, da API do CodePipeline ou do AWS CloudFormation.
Tópicos
Propriedades de configuração (console)
O console
nota
Ao criar um novo pipeline, você pode especificar somente os modos de ação Criar ou atualizar uma pilha ou Criar ou substituir um conjunto de alterações. As propriedades na seção Advanced (Avançado) estão disponíveis somente quando você edita um pipeline.
- Modo de ação
-
A ação do AWS CloudFormation que o CodePipeline invoca ao processar o estágio associado. Escolha um dos seguintes modos de ação:
-
Criar ou substituir um conjunto de alterações cria o conjunto de alterações, se ele não existe, com base no nome da pilha e no modelo que você envia. Se o conjunto de alterações existir, o AWS CloudFormation o exclui e, em seguida, cria um novo.
-
Criar ou atualizar uma pilha cria a pilha, se a pilha especificada não existe. Se a pilha existir, o AWS CloudFormation a atualiza. Use esta ação para atualizar pilhas existentes. O CodePipeline não substituirá a pilha.
-
Excluir uma pilha exclui uma pilha. Se você especificar uma pilha que não existe, a ação será concluída com êxito sem excluir uma pilha.
-
Executar um conjunto de alterações executa um conjunto de alterações.
-
Substituir uma pilha com falhas cria a pilha, se a pilha especificada não existe. Se a pilha existir e estiver em estado de falha (reportado como
ROLLBACK_COMPLETE
,ROLLBACK_FAILED
,CREATE_FAILED
,DELETE_FAILED
ouUPDATE_ROLLBACK_FAILED
), o AWS CloudFormation excluirá a pilha e criará uma nova. Se a pilha não estiver em um estado de falha, o AWS CloudFormation a atualiza. Use esta ação para substituir as pilhas com falha sem recuperá-las nem solucionar o problema delas. Geralmente, esse modo é escolhido para testes.
-
- Nome da stack
-
O nome associado a uma pilha existente ou a uma pilha que você deseja criar. O nome deve ser exclusivo na região da AWS em que você está criando a pilha.
nota
Um nome de pilha pode conter apenas caracteres alfanuméricos (sensíveis a maiúsculas e minúsculas) e hífens. Ele deve começar com um caractere alfabético e não pode ter mais de 128 caracteres.
- Change set name (Nome do conjunto de alterações)
-
O nome de um conjunto de alterações existente ou um novo conjunto de alterações que você deseja criar para a pilha especificada.
- Modelo
-
O local de um arquivo de modelo do AWS CloudFormation, que segue o formato
.ArtifactName
::TemplateFileName
- Configuração do modelo
-
O local de um arquivo de configuração do modelo, que segure o formato
. O arquivo de configuração de modelo pode conter valores de parâmetros do modelo, uma política de pilha e tags. Se você incluir informações confidenciais, como senhas, restrinja o acesso a este arquivo. Para ter mais informações, consulte Artefatos do AWS CloudFormation.ArtifactName
::TemplateConfigurationFileName
- Capacidades
-
Para pilhas que contêm determinados recursos, confirme explicitamente que o AWS CloudFormation pode criar ou atualizar esses recursos. Por exemplo, especifique
CAPABILITY_IAM
se o modelo da pilha contiver recursos do AWS Identity and Access Management (IAM). Para obter mais informações, consulte os parâmetros de solicitação da operação da APICreateStack
.Se houver recursos do IAM no modelo de pilha, especifique essa propriedade.
Você pode especificar mais de uma funcionalidade.
- Nome da função
-
O nome do perfil de serviço do IAM que o AWS CloudFormation assume quando ele opera em recursos na pilha especificada.
- Nome do arquivo de saída
-
Na seção Advanced (Avançado), você pode especificar um nome de arquivo de saída, como
CreateStackOutput.json
, que o CodePipeline adiciona ao artefato de saída depois de executar a ação especificada. O artefato de saída contém um arquivo JSON com o conteúdo da seçãoOutputs
do modelo AWS CloudFormation.Se você não especificar um nome, o CodePipeline não gerará um artefato de saída.
- Substituições de parâmetros
-
Os parâmetros são definidos em seu modelo e permitem que você insira valores personalizados ao criar ou atualizar uma pilha. É possível especificar um objeto JSON que substitui os valores dos parâmetros do modelo no arquivo de configuração do modelo. Todos os nomes de parâmetros devem estar presentes no modelo de pilha. Para obter mais informações, consulte Definir um parâmetro em um modelo.
nota
Há um limite de tamanho máximo de 1 KB para o objeto JSON que pode ser armazenado na propriedade
ParameterOverrides
.Recomendamos que você use o arquivo de configuração do modelo para especificar a maioria dos valores de parâmetro. Use substituições de parâmetros para especificar somente valores de parâmetros dinâmicos. Os parâmetros dinâmicos são desconhecidos até que você execute o pipeline.
O exemplo a seguir define um valor para o parâmetro
ParameterName
usando uma função de substituição de parâmetro. A função recupera um valor de um artefato de entrada do CodePipeline. Para obter mais informações sobre funções de substituição de parâmetros, consulte Usar funções de substituição de parâmetros com pipelines CodePipeline.{ "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]} }
Propriedades de configuração (objeto JSON)
Ao especificar CloudFormation
como um provedor para uma ação de estágio, defina as seguintes propriedades na propriedade Configuration
. Use o objeto JSON para modelos da AWS CLI, da API do CodePipeline ou do AWS CloudFormation. Veja exemplos em Demonstração: Criar um pipeline para pilhas de produção e teste e Referência de propriedades de configuração DO AWS CloudFormation.
ActionMode
-
A ação do AWS CloudFormation que o CodePipeline invoca ao processar o estágio associado. Especifique apenas um dos seguintes modos de ação:
-
CHANGE_SET_EXECUTE
executa o conjunto de alterações. -
CHANGE_SET_REPLACE
cria um conjunto de alterações, se ainda não existir, com base no nome da pilha e no modelo enviado. Se o conjunto de alterações existir, o AWS CloudFormation o exclui e, em seguida, cria um novo. -
CREATE_UPDATE
cria a pilha se a especificada não existir. Se a pilha existir, o AWS CloudFormation a atualiza. Use esta ação para atualizar pilhas existentes. O CodePipeline não substituirá a pilha. -
DELETE_ONLY
exclui uma pilha. Se você especificar uma pilha que não existe, a ação será concluída com êxito sem excluir uma pilha. -
REPLACE_ON_FAILURE
cria uma pilha quando a pilha especificada não existe. Se a pilha existir e estiver no estado de falha (reportado comoROLLBACK_COMPLETE
,ROLLBACK_FAILED
,CREATE_FAILED
,DELETE_FAILED
ouUPDATE_ROLLBACK_FAILED
), o AWS CloudFormation a excluirá e, em seguida, criará uma nova. Se a pilha não estiver em um estado de falha, o AWS CloudFormation a atualiza. Use esta ação para substituir automaticamente as pilhas com falha sem recuperá-las nem solucionar o problema delas. Geralmente, esse modo é escolhido para testes.
Essa propriedade é obrigatória.
-
Capabilities
-
Para pilhas que contêm determinados recursos, confirme explicitamente que o AWS CloudFormation pode criar ou atualizar esses recursos. Por exemplo, especifique
CAPABILITY_IAM
se o modelo da pilha contiver recursos do AWS Identity and Access Management (IAM). Para obter mais informações, consulte os parâmetros de solicitação da operação da APICreateStack
.Essa propriedade é condicional. Se houver recursos do IAM no modelo de pilha, especifique essa propriedade.
Você pode especificar várias funcionalidades. O exemplo a seguir adiciona as propriedades
CAPABILITY_IAM
eCAPABILITY_AUTO_EXPAND
ao modelo: ChangeSetName
-
O nome de um conjunto de alterações existente ou um novo conjunto de alterações que você deseja criar para a pilha especificada.
Essa propriedade é necessária para os seguintes modos de ação:
CHANGE_SET_REPLACE
eCHANGE_SET_EXECUTE
. Para todos os outros modos de ação, essa propriedade será ignorado. OutputFileName
-
Um nome para o arquivo de saída, como
CreateStackOutput.json
. O CodePipeline adiciona o arquivo ao artefato de saída depois de executar a ação especificada. O artefato de saída contém um arquivo JSON com o conteúdo da seçãoOutputs
do modelo AWS CloudFormation.Essa propriedade é opcional. Se você não especificar um nome, o CodePipeline não gerará um artefato de saída.
ParameterOverrides
-
Os parâmetros são definidos em seu modelo e permitem que você insira valores personalizados ao criar ou atualizar uma pilha. É possível especificar um objeto JSON que substitui os valores dos parâmetros do modelo no arquivo de configuração do modelo. Todos os nomes de parâmetros devem estar presentes no modelo de pilha. Para obter mais informações, consulte Definir um parâmetro em um modelo.
O exemplo a seguir adiciona as substituições dos parâmetros
KeyName
eInstanceType
ao modelo:nota
O tamanho máximo do objeto JSON que pode ser armazenado na propriedade
ParameterOverrides
é 1 kilobyte.Recomendamos que você use o arquivo de configuração do modelo para especificar a maioria dos valores de parâmetro. Use substituições de parâmetros para especificar somente valores de parâmetros dinâmicos. Os valores dos parâmetros dinâmicos são desconhecidos até que você execute o pipeline.
O exemplo a seguir define um valor para o parâmetro
ParameterName
usando uma função de substituição de parâmetro. A função recupera um valor de um artefato de entrada do CodePipeline. Para obter mais informações sobre funções de substituição de parâmetros, consulte Usar funções de substituição de parâmetros com pipelines CodePipeline.{ "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]} }
Essa propriedade é opcional.
RoleArn
-
O nome do recurso da Amazon (ARN) do perfil de serviço do IAM que o AWS CloudFormation assume quando ele funciona com recursos em uma pilha.
Essa propriedade é necessária para os seguintes modos de ação:
CREATE_UPDATE
,REPLACE_ON_FAILURE
,DELETE_ONLY
eCHANGE_SET_REPLACE
.RoleArn
não é aplicado ao executar um conjunto de alterações. Se você não usar o CodePipeline para criar o conjunto de alterações, verifique se o conjunto de alterações ou a pilha está associada a uma função. StackName
-
O nome de uma pilha existente ou de uma pilha que você deseja criar.
Essa propriedade é necessária para todos os modos de ação.
TemplateConfiguration
-
TemplateConfiguration
é o arquivo de configuração do modelo. Inclua o arquivo em um artefato de entrada para essa ação. O nome do arquivo de configuração de modelo segue este formato:Artifactname
::TemplateConfigurationFileName
Artifactname
é o nome do artefato de entrada, da forma como aparece no CodePipeline. Por exemplo, um estágio de origem com o nome de artefato deSourceArtifact
e um nome de arquivo detest-configuration.json
cria um nomeTemplateConfiguration
, conforme mostrado neste exemplo:"TemplateConfiguration": "SourceArtifact::test-configuration.json"
O arquivo de configuração de modelo pode conter valores de parâmetro do modelo e uma política de pilha. Se você incluir informações confidenciais, como senhas, restrinja o acesso a este arquivo. Para obter um exemplo de arquivo de configuração de modelo, consulte Artefatos do AWS CloudFormation.
Essa propriedade é opcional.
TemplatePath
-
TemplatePath
representa o arquivo de modelo do AWS CloudFormation. Inclua o arquivo em um artefato de entrada para essa ação. O nome do arquivo segue este formato:Artifactname
::TemplateFileName
Artifactname
é o nome do artefato de entrada, da forma como aparece no CodePipeline. Por exemplo, um estágio de origem com o nome de artefato deSourceArtifact
e um nome de arquivo detemplate.yaml
cria um nomeTemplatePath
, conforme mostrado neste exemplo:"TemplatePath": "SourceArtifact::template.yaml"
Essa propriedade é necessária para os seguintes modos de ação:
CREATE_UPDATE
,REPLACE_ON_FAILURE
eCHANGE_SET_REPLACE
. Para todos os outros modos de ação, essa propriedade será ignorado.
Consulte também
Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esses parâmetros.
-
Para obter mais informações sobre os parâmetros de ação do AWS CloudFormation no CodePipeline, consulte a referência de configuração de ações do AWS CloudFormation no Guia do usuário do AWS CodePipeline.
-
Para obter exemplos de valores do modelo por provedor de ação, como para o campo
Owner
ou para os camposconfiguration
, consulte a Referência de estruturas de ações no Guia do usuário do AWS CodePipeline. -
Para baixar exemplos de modelos de pilha de pipeline no formato YAML ou JSON, consulte os tutoriais em Criar um pipeline com o AWS CloudFormation, no Guia do usuário do AWS CodePipeline.
-
Para obter um arquivo de configuração do modelo de exemplo, consulte Artefatos do AWS CloudFormation.