【发布时间】:2021-11-15 11:41:55
【问题描述】:
我正在使用 Google Cloud 部署管理器来管理基础架构即代码 (IAC),它们支持提供用于描述 IAC 模板的架构文件。他们对 jsonschema 的支持有点奇怪 - 文档非常简短,但它表明他们支持最新版本的模式,而且他们要求标题和描述位于 info 对象中。
这很烦人,因为我为我的架构使用了一个 HTML 渲染器,它实现了 jsonschema,因此,它需要将标题和描述设置为顶级属性。
为了满足两者,我需要复制,例如:
title: foo
description: bar
info:
title: foo
description: bar
我希望只定义一次标题和描述值,然后使用一些 $ref: "#/$defs/title" 魔术,但我认为您不能使用它来动态设置标题等值,因为此功能旨在供模式解析器获取块来自其他地方的内容。
除了动态呈现我不想做的架构文件之外,有什么方法可以避免重复值。
【问题讨论】:
-
title和description在info属性中听起来像 OpenAPI/Swagger。你确定你处理的是香草 JSON 模式而不是 OpenAPI 吗? oai.github.io/Documentation -
@Ether 相当肯定,但我要做的就是这个; @ 987654322@ - 不管怎样,我认为我的问题仍然存在 - 是否可以动态设置标题/描述,或者我猜更笼统地说,问题是,有什么方法可以在架构定义中定义/使用标量变量
标签: jsonschema google-deployment-manager