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