Como resolvo o erro “O atributo ‘Chave’ não existe” ao usar a função Fn::GetAtt no meu recurso de provedor de recursos no CloudFormation?

2 minuto de leitura
0

Quando uso a função Fn::GetAtt no meu provedor de recursos no AWS CloudFormation, recebo o seguinte erro: “O atributo ‘Chave’ não existe”

Breve descrição

O CloudFormation retorna o erro “O atributo ‘Chave’ não existe” porque não está recebendo a propriedade necessária. O ReadHandler do seu recurso deve retornar uma propriedade especificada na lista readOnlyProperties no arquivo de esquema do provedor de recursos organization-service-resource.json.

Para ver outros erros relacionados ao uso de um provedor de recursos, consulte os seguintes artigos:

Resolução

  1. Em seu arquivo organization-service-resource.json, confirme se a definição readOnlyProperties usa o formato a seguir, em que Saída é uma propriedade definida na seção de propriedades. Por exemplo:
"readOnlyProperties": [
    "/properties/Output"
],

**Observação:**o formato organization-service-resource.json está localizado no diretório raiz do seu projeto.

  1. Em seu ReadHandler, defina a propriedade no objeto do modelo. Por exemplo:
final ResourceModel model = request.getDesiredResourceState();
model.setOutput("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
    .resourceModel(model)
    .status(OperationStatus.SUCCESS)
    .build();

Informações relacionadas

CLI do AWS CloudFormation (do site do GitHub)

AWS OFICIAL
AWS OFICIALAtualizada há um ano