我正在尝试编写一个YAML字典,用于Rails项目的国际化.我有点困惑,因为在一些文件中,我看到双引号中的字符串,而有些没有.需要考虑以下几点:
!- 非特定标记,而第一个示例的最后两行不使用 - 它们都有效.我的问题是:在YAML中使用不同类型的引号有哪些规则?
可以这么说:
!单引号,当...?!?我有以下YAML片段:
description: |
"API for bean consuming applications.
Examples: painted pony, lima bean"
Run Code Online (Sandbox Code Playgroud)
:尽管有引号,但Swagger编辑器将冒号()解释为特殊字符.
根据这个问题的公认答案,结肠不应该被视为特殊性质.
这是Swagger的错误还是在引用的文本文字中使用冒号所需的转义序列?
我尝试使用YAML规范找到它但放弃了.
我如何阅读该规范来回答这个问题?
YAML中的单引号(')和双引号(")之间有区别吗?
pipe(|)或大于(>)结构是否仅影响换行处理或特殊字符的处理?
有谁知道如何逃避YAML的冒号?我的yml中的键是带端口号的域,但yml文件不能使用此设置:
###BEGIN
production:
### THIS IS THE ONE I'm HAVING TROUBLE WITH ###
8.11.32.120:8000: GoogleMapsKeyforThisDomain
exampledomain.com: GoogleMapsAPIKeyforThatDomain
development:
GoogleMapsAPIKeyforDevelopmentDomain
###END
Run Code Online (Sandbox Code Playgroud)
我正在使用名为YM4R的谷歌地图插件,该插件使用.yml文件来选择不同的Google Maps API密钥,具体取决于我的应用托管位置...
所以,我正在努力8.11.32.120:8000 the key.知道怎么做吗?(如果你关心的话,它在gmaps_api_key.yml文件中)
好.这慢慢让我发疯.我在Travis上为我的一个项目设置了CI.我正在运行一些JUnit测试,我想将测试结果上传到我自己的服务器,因此浏览它们要容易得多.
基本上,我想做的只是称之为:
curl -H 'Authorization: Token someToken' -X POST http://my.server.com -F filedata=@file.txt
Run Code Online (Sandbox Code Playgroud)
所以这就是我想在.travis.yml文件中做的事情.
after_script:
- curl -H 'Authorization: Token someToken' -X POST http://my.server.com -F filedata=@file.txt
Run Code Online (Sandbox Code Playgroud)
问题是,对于上面的行我得到一个如下错误:
$ {:"curl -H '\"Authorization"=>"Token someToken\"' -X POST http://my.server.com -F filedata=@file.txt"}
/home/travis/build.sh: line 45: Token someToken"' -X POST http://my.server.com -F filedata=@file.txt}: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经了解到,在YAML冒号代表了一对键值,我发现可以使用引号来逃避冒号.
嗯 - 这是我被卡住的地方.我尝试以多种不同的方式应用这些引用,但不知怎的,每次我再次得到相同的错误.
例如:
curl -H '"Authorization: Token someToken"'
curl -H "\"Authorization: Token someToken\""
curl -H "'Authorization: Token someToken'"
curl -H '"Authorization": Token someToken' …Run Code Online (Sandbox Code Playgroud) 在我的.gitlab-ci.yml文件下面:
image: docker:latest
services:
- docker:dind
stages:
- deploy_dev_env
Deploy DEV Environment:
stage: deploy_dev_env
script:
- curl -v -H "Content-Type: multipart/form-data" -X PUT -F uploadInput=@schema/schema.xml -F overwrite=true -F xmlaEnabledFlag=true -F parameters="DataSource=outputDS" -F parameters="EnableXmla=true" -u $PENTAHO_DEPLOY_USER:$PENTAHO_DEPLOY_PASSWORD http://$PENTAHO_HOST/pentaho/plugin/data-access/api/datasource/analysis/catalog/sca
Run Code Online (Sandbox Code Playgroud)
这个非常简单的脚本会导致错误,因为这部分中的冒号(:) "Content-Type: multipart/form-data"。
在脚本中运行 CI Lint 我得到以下信息:
Status: syntax is incorrect
jobs:deploy dev environment:script config should be a string or an array containing strings and arrays of strings
Run Code Online (Sandbox Code Playgroud)
如果我替换"Content-Type: multipart/form-data"为"Content-Type multipart/form-data"(删除了“:”),我会得到我的 .gitlab-ci.yml 文件的正确语法。
这是一个错误还是我应该以不同的方式重写我的 curl 命令?
我正在尝试创建一个自定义组件文档。虽然我使用各种 yaml linter 测试了 yaml 文件,但 EC2 Image builder 抱怨以下错误
Failed to create component. Fix the error(s) and try again:
The value supplied for parameter 'data' is not valid. Parsing step 'ConfigureMySQL' in phase 'build' failed. Error: line 4: cannot unmarshal map into string.
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚我的 yaml 文件出了什么问题
name: MyJavaAppTestDocument
description: This is JavaApp Document
schemaVersion: 1.0
phases:
- name: build
steps:
- name: InstallSoftware
action: ExecuteBash
inputs:
commands:
- sudo yum update -y
- sudo yum install -y java-1.8.0
- …Run Code Online (Sandbox Code Playgroud) 我想app.kubernetes.io/part-of: myapp在我的 Spring Boot 管理应用程序中配置 kubernetes 发现的服务标签。
app.kubernetes.io/part-of是一个推荐的标签,所以我认为应该有一种方法来配置它以进行服务发现。
spring:
cloud:
kubernetes:
discovery:
namespace: myspace
all-namespaces: true
service-labels:
'app.kubernetes.io/part-of': myapp
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在执行器中注意到,yaml 键中的所有特殊字符都被删除了configprops。
我的问题:
提示:
我正在尝试使用 got-swag (npm 包)测试 swagger api
当我尝试使用 json 模式验证 json 响应时,当单独的 yaml 文件合并为一个 yaml 和 json 文件时,我收到一个 parseError 。起源是 -validate() 行。validate() 源自 got-swag 包,但它在其底层jsonschema.validate( data, schema ); 中失败;依赖性
x-tests:
- description: Should return array of ferries
steps:
- get('/api/get/link/ferries')
- equal(res.statusCode, 200)
- ok(res.json.length > 0)
- validate(res.json, $ref: '#/definitions/ferry')
Run Code Online (Sandbox Code Playgroud)
这是产生的错误:
throw new exports.ParserError('while parsing a block mapping', this.marks.slice(-1)[0], "expected <block end>, but found " + token.id, token.start_mark);
^
while parsing a block mapping
on line 29, column …Run Code Online (Sandbox Code Playgroud) 我有一个简单的任务,我坚持写盐状态.我需要使用curl和json body调用REST端点.这是
curl localhost/endpoint -d '{"some" : "data"}'
我的想法是简单地使用它并通过使用将其置于盐状态cmd.run.不行.到目前为止我有这个:
{%- set data = {'some': 'data'} %}
Use echo instead of curl:
cmd.run:
- name: echo '{{ data|json }}'
Run Code Online (Sandbox Code Playgroud)
这给了我
failed: Unknown yaml render error; line 5
Use echo instead of curl:
cmd.run:
- name: echo '{"some": "data"}' <======================
Run Code Online (Sandbox Code Playgroud)
我有Salt版本2014.7.1
yaml ×6
escaping ×2
swagger ×2
amazon-ec2 ×1
curl ×1
delimiter ×1
gitlab ×1
gitlab-ci ×1
java ×1
javascript ×1
jinja2 ×1
json ×1
parsing ×1
quotes ×1
salt-stack ×1
spring-boot ×1
syntax ×1
travis-ci ×1