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

Resource model break when specifying an array with unique: true

オープン
#97 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
46
フォーク
18
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

示されたスキーマと入力例で失敗を再現し、次に uniqueItems が有効になっている配列について、生成された TypeScript モデルと resource-provider パスを調査します。uniqueItems を削除した場合の動作と比較します。Tag オブジェクトの例の配列が受け入れられ、かつ一意性が引き続き正しく表現されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
aws, typescript
領域
backend-api-design, cloud
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。