Come faccio a risolvere l'errore "L'attributo 'Chiave' non esiste" quando utilizzo la funzione Fn::GetAtt sulla mia risorsa del provider di risorse in CloudFormation?

2 minuti di lettura
0

Quando utilizzo la funzione Fn::GetAtt sul mio provider di risorse in AWS CloudFormation, ricevo il seguente errore: "L'attributo 'Chiave' non esiste"

Breve descrizione

CloudFormation restituisce l'errore "L'attributo 'Chiave' non esiste" perché non riceve la proprietà richiesta. Il ReadHandler della risorsa deve restituire una proprietà specificata dall'elenco ReadOnlyProperties nel file di schema del provider di risorse organization-service-resource.json.

Per altri errori correlati all'utilizzo di un provider di risorse, consulta i seguenti articoli:

Risoluzione

1.    Nel file organization-service-resource.json, conferma che la definizione di readOnlyProperties utilizzi il seguente formato, dove Output è una proprietà definita nella sezione delle proprietà. Ad esempio:

"readOnlyProperties": [
    "/properties/Output"
],

Nota: Il formato organization-service-resource.json si trova nella directory principale del progetto.

2.    Nel tuo ReadHandler, imposta la proprietà nell'oggetto modello. Ad esempio:

final ResourceModel model = request.getDesiredResourceState();
model.setOutput("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
    .resourceModel(model)
    .status(OperationStatus.SUCCESS)
    .build();

Informazioni correlate

CLI di AWS CloudFormation (dal sito Web GitHub)

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa