aws-cloudformation / aws-cloudformation/cloudformation-cli-typescript-plugin

Resource model break when specifying an array with unique: true

Offen
#97 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
46
Forks
18
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I've noticed when specifying an array with unique: true translates the model into a Set instead of an Array (makes sense)

but then when passing an actual array as example input, the resource provider fails. Consider for example:

```
"Tags": {
"type": "array",
"maxItems": 50,
"uniqueItems": true,
"insertionOrder": false,
"description": "An array of key-value pairs to apply to this resource.",
"items": {
"$ref": "#/definitions/Tag"
}
},
```

with input:

```
"Tags": [{
"Key": "name",
"Value": "value"
}]
```

gives error

`"message": "Error: Error: Unsupported type: object [Tag] for tags (Error)",`

Removing the `uniqueItems` fixes the issue and the main thing I notice is that in the generated code the type changes from a Set to an Array

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduziere den Fehler mit dem gezeigten Schema und der Beispieleingabe und untersuche anschließend das generierte TypeScript-Modell sowie den resource-provider-Pfad auf Arrays mit aktiviertem uniqueItems. Vergleiche das Verhalten, wenn uniqueItems entfernt wird; als erledigt gilt die Aufgabe, wenn das Beispiel-Array aus Tag-Objekten akzeptiert wird und die Eindeutigkeit weiterhin korrekt dargestellt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
aws, typescript
Bereich
backend-api-design, cloud
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.