[英]Use (scalar) variables in jsonschema to dynamically set attribute, e.g. title
我正在使用 Google Cloud 部署管理器來管理基礎架構即代碼 (IAC),它們支持提供用於描述 IAC 模板的架構文件。 他們對 jsonschema 的支持有點奇怪 - 文檔非常簡短,但它表明他們支持最新版本的架構,並且他們需要標題和描述在信息對象中。
這很煩人,因為我為我的模式使用了 HTML 渲染器,它實現了 jsonschema,因此,它需要將標題和描述設置為頂級屬性。
為了滿足兩者,我需要復制,例如:
title: foo
description: bar
info:
title: foo
description: bar
我希望只定義一次標題和描述值,然后使用一些$ref: "#/$defs/title"
魔法,但我認為您不能使用它來動態設置標題等值,因為此功能旨在模式解析器從其他地方獲取塊內容。
有什么方法可以避免重復值 - 除了動態呈現我不想做的模式文件之外。
據我所知,無法在 json 模式中使用引用。
作為一種粗略的解決方法,您可以使用腳本來添加/替換占位符:
#!/bin/bash
sed -i 's/\$title/title: foo/g' file.json
sed -i 's/\$desc/description: bar/g' file.json
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.