Como resolvo o erro “Falha na validação do parâmetro: o valor do parâmetro 'abc' para o nome do parâmetro 'ABC' não existe” no CloudFormation?
Quando eu crio ou atualizo minha pilha do AWS CloudFormation, recebo o seguinte erro: “Falha na validação do parâmetro: o valor do parâmetro 'abc' para o nome do parâmetro 'ABC' não existe.” Como posso resolver esse erro?
Breve descrição
O AWS CloudFormation retorna o erro de falha na validação do parâmetro quando um dos parâmetros usados em seu modelo do CloudFormation é um tipo de parâmetro específico da AWS.
Você pode receber esse erro ao usar um parâmetro específico da AWS:
- Para transmitir um valor que não existe na região ou na conta da AWS durante a criação da pilha.
- Como propriedade de um recurso e, em seguida, exclua esse valor fora da faixa antes de atualizar o recurso durante a atualização da pilha.
- Como parâmetro em uma pilha filho. O erro ocorre quando o valor da pilha filho que é passado da pilha pai não corresponde ao tipo de parâmetro. O erro também ocorre quando o recurso do parâmetro não existe na conta dessa região.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), verifique se está usando sua versão mais recente.
Crie uma pilha
1. Abra o console do AWS CloudFormation.
2. No painel de navegação, escolha Pilhas.
3. Na coluna Nome da pilha, escolha a pilha que falhou.
4. Escolha a guia Parâmetros.
5. Na coluna Chave, pesquise o parâmetro ABC com o valor abc.
6. Verifique a seção Parâmetros do modelo usado para criar sua pilha para verificar se o recurso abc corresponde ao tipo de parâmetro específico da AWS.
7. Verifique se o recurso abc para o parâmetro ABC existe na região ou na conta. Use o Console de Gerenciamento da AWS ou o comando da AWS CLI para descrever o recurso. Para encontrar o comando certo para seu recurso, consulte a seção Localizar o comando de descrição para seu recurso.
Observação: por exemplo, se você usar o tipo de parâmetro AWS::EC2::VPC::Id, verifique o console do Amazon Virtual Private Cloud (Amazon VPC) para ver o recurso.
8. Se ABC for um parâmetro para a pilha filho, você deverá passar o valor abc. Escolha a Opção A ou a Opção B.
(Opção A) Se você estiver se referindo a outro recurso na pilha pai, verifique se esse recurso corresponde ao tipo de parâmetro específico da AWS usado na pilha filho.
Observação: por exemplo, a pilha falhará se você usar o tipo de parâmetro AWS::EC2::Subnet::Id (sub-rede) e se referir ao tipo de recurso AWS::EC2::VPC.
(Opção B) Se o valor abc passar diretamente da pilha pai, verifique se o recurso abc para o parâmetro ABC existe na região ou na conta. Use o Console de Gerenciamento da AWS ou o comando da AWS CLI para descrever o recurso. Para encontrar o comando certo para seu recurso, consulte a seção Localizar o comando de descrição para seu recurso.
Por exemplo, considere o seguinte parâmetro da Lista na pilha filho:
"SecurityGroups": { "Description": "List of security group IDs for the instances", "Type": "List<AWS::EC2::SecurityGroup::Id>" }
O valor para o parâmetro passa da pilha pai. Por exemplo:
"ChildStack" : { "Type" : "AWS::CloudFormation::Stack", "Properties" : { "Parameters":{ "KeyPair" : { "Ref": "KeyPair" }, "ImageID" : { "Ref": "ImageID" }, "InstanceType" : { "Ref": "InstanceType" }, "SecurityGroups" : { "Ref": "SecurityGroup" } }
Importante: No exemplo anterior, verifique se o valor do ID do grupo de segurança que foi passado para o parâmetro SecurityGroup existe na região ou na conta.
9. Crie uma nova pilha com um valor válido para o parâmetro que existe em sua região ou conta e que corresponda ao tipo de parâmetro específico da AWS.
Atualize a pilha
Quando uma atualização da pilha falha, o CloudFormation reverte as alterações. Isso significa que você não pode ver o valor do parâmetro atualizado por meio do console do AWS CloudFormation.
Você deve alterar o valor do parâmetro ABC durante a atualização. Se você não alterar o valor, o recurso com o nome ou PhysicalID de abc poderá ser excluído da conta fora de banda.
1. Para verificar se o recurso existe, use o Console de Gerenciamento da AWS ou o comando da AWS CLI para descrever o recurso. Para encontrar o comando certo para seu recurso, consulte a seção Localizar o comando de descrição para seu recurso.
2. Se você estiver atualizando a pilha atualizando o parâmetro ABC, siga as etapas 6, 7 e 8 da seção anterior Criar uma pilha.
3. Atualize a pilha passando um valor válido para o parâmetro ABC.
Encontre o comando de descrição para seu recurso
Escolha o comando certo para seu recurso:
- Para AWS::EC2::Image::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
- Para AWS::EC2::Instance::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
- Para AWS::EC2::KeyPair::KeyName, use o comando para a versão 1 ou versão 2 da AWS CLI.
- Para AWS::EC2::SecurityGroup::GroupName, AWS::EC2::SecurityGroup::Id, Lista ou Lista, use o comando para versão 1 ou versão 2 da AWS CLI.
- Para AWS::EC2::Subnet::Id or List, use o comando para a versão 1 ou versão 2 da AWS CLI.
- Para AWS::EC2::VPC::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
- Para AWS::Route53::HostedZone::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
- Para AWS::EC2::AvailabilityZone::Name ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
- Para AWS::EC2::Volume::Id ou Lista, use o comando para a versão 1 ou versão 2 da AWS CLI.
Conteúdo relevante
- AWS OFICIALAtualizada há 2 meses
- AWS OFICIALAtualizada há 2 meses
- AWS OFICIALAtualizada há um ano