Cuando utilizo la función Fn::GetAtt en mi proveedor de recursos en AWS CloudFormation, recibo el siguiente error: «El atributo “Clave” no existe»
Breve descripción
CloudFormation devuelve el error «El atributo “Clave” no existe» porque no recibe la propiedad requerida. El ReadHandler de su recurso debe devolver una propiedad que se especifique en la lista readOnlyProperties del archivo de esquema del proveedor de recursos organization-service-resource.json.
Para ver otros errores relacionados con el uso de un proveedor de recursos, consulte los siguientes artículos:
Resolución
1. En su archivo organization-service-resource.json, confirme que la definición readOnlyProperties utilice el siguiente formato, donde Salida es una propiedad que se define en la sección de propiedades. Por ejemplo:
"readOnlyProperties": [
"/properties/Output"
],
Nota: El formato organization-service-resource.json se encuentra en el directorio raíz del proyecto.
2. En su ReadHandler, defina la propiedad en el objeto modelo. Por ejemplo:
final ResourceModel model = request.getDesiredResourceState();
model.setOutput("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
Información relacionada
CLI de AWS CloudFormation (del sitio web de GitHub)