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
贡献指南
调研方向
使用所示 schema 和示例输入复现该故障,然后检查生成的 TypeScript 模型和 resource-provider 路径,查找启用 uniqueItems 的数组。比较移除 uniqueItems 后的行为;当 Tag 对象示例数组能够被接受,同时唯一性仍能得到正确表示时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- aws, typescript
- 领域
- backend-api-design, cloud
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100