¿Cómo soluciono el error «El atributo “clave” no existe» cuando utilizo la función Fn::GetAtt en el recurso de mi proveedor de recursos en CloudFormation?

2 minutos de lectura
0

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)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años