aws-cloudformation / aws-cloudformation/cloudformation-cli-typescript-plugin
Resource model break when specifying an array with unique: true
- 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
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