所以我有两个YAML文件,"A"和"B",我想要将A的内容插入到B中,或者拼接到现有的数据结构中,像数组一样,或者作为元素的子元素,比如值对于某个哈希键.
这有可能吗?怎么样?如果没有,任何指向规范参考的指针?
我有以下YAML:
paths:
patha: /path/to/root/a
pathb: /path/to/root/b
pathc: /path/to/root/c
Run Code Online (Sandbox Code Playgroud)
如何通过/path/to/root/从三个路径中删除并将其作为自己的设置来"规范化" ,例如:
paths:
root: /path/to/root/
patha: *root* + a
pathb: *root* + b
pathc: *root* + c
Run Code Online (Sandbox Code Playgroud)
显然这是无效的,我只是弥补了.什么是真正的语法?可以吗?
YAML文件中的变量是否可能?例如:
theme:
name: default
css_path: compiled/themes/$theme.name
layout_path: themes/$theme.name
Run Code Online (Sandbox Code Playgroud)
在这个例子中,如何theme: name: default在其他设置中使用?语法是什么?
我想在那里使用yml文件中声明的变量.例如,我声明site_name并想在下面使用它description.
en:
site_name: &site_name "Site Name"
static_pages:
company:
description: *site_name #this works fine
description: "#{*site_name} is an online system" #this doesn't work
Run Code Online (Sandbox Code Playgroud)
如何将*site_name变量与其他文本组合在一起?
例如,部署yaml文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: guestbook
spec:
replicas: 2
template:
metadata:
labels:
app: guestbook
spec:
container:
- name: guestbook
image: {{Here want to read value from config file outside}}
Run Code Online (Sandbox Code Playgroud)
ConfigMapKubernetes 有一个功能,但它也将键/值写入yaml文件.有没有办法设置环境变量的关键?
我有YAML文件需要将变量作为输入:
outputters:
- type : DateFileOutputter
name : logfile
level : DEBUG
date_pattern: '%Y%m%d'
trunc : 'false'
dirname : "/home/sameera/workspace/project/log"
filename : "message.log"
formatter :
date_pattern: '%m/%d/%Y %H:%M:%S'
pattern : '%d %l - %m'
type : PatternFormatter
Run Code Online (Sandbox Code Playgroud)
我想传递dirname一个参数,如:
dirname : "<%= LOGFILE_PATH%>"
Run Code Online (Sandbox Code Playgroud)
我LOGFILE_PATH在一个名为的文件中定义init.rb.
在Perl中,我可以执行以下操作:
my $home = "/home";
my $alice = "$home/alice";
Run Code Online (Sandbox Code Playgroud)
我可以在YAML中执行以下操作:
Home: /home
Alice: $Home/alice
Run Code Online (Sandbox Code Playgroud)
那么"爱丽丝" /home/alice到底有效吗?
有没有办法在YAML中替换字符串.例如,我想定义sub一次并在整个YAML文件中使用它.
sub: ['a', 'b', 'c']
command:
params:
cmd1:
type: string
enum : # Get the list defined in 'sub'
description: Exclude commands from the test list.
cmd2:
type: string
enum: # Get the list defined in 'sub'
Run Code Online (Sandbox Code Playgroud) 是否可以?这是我的app.yaml:
runtime: nodejs8
env_variables:
NODE_ENV: production
PORT: 8080
API_KEY: ${API_KEY}
Run Code Online (Sandbox Code Playgroud)
${API_KEY} 就像一个占位符。
当我运行API_KEY=xdfj212c gcloud app deploy app.yaml命令时,我想传递API_KEY=xdfj212c给app.yaml占位符并将其替换为
xdfj212c.
期待结果:
runtime: nodejs8
env_variables:
NODE_ENV: production
PORT: 8080
API_KEY: xdfj212c
Run Code Online (Sandbox Code Playgroud)
或者,在我跑完之后
export API_KEY=xdfj212c
gcloud app deploy
我想要同样的行为。
这对谷歌应用引擎部署工作流程有意义吗?
yaml ×8
ruby ×3
transclusion ×2
config ×1
key-value ×1
kubernetes ×1
syntax ×1
templates ×1
variables ×1