Reputation: 22270
I want to upload an app to Google App Engine:
I get this
Error parsing yaml file:
mapping values are not allowed here
in "/home/antonio/Desktop/ATI/climate-change/app.yaml", line 2, column 8
When running
./appcfg.py update /home/antonio/Desktop/ATI/climate-change
with this app.yaml file:
application:climate-change
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
script: helloworld.app
line 2, column 8 corresponds to the version line. What is wrong here? Btw, I'm using Ubuntu 12.04 here.
Upvotes: 134
Views: 341296
Reputation: 768
I forgot a colon.
Starting point was:
plugins:
- search
- with-pdf
Then I wanted to add properties to - with-pdf
and did it this way:
plugins:
- search
- with-pdf
author: My Name
This resulted in a parsing error since now the - with-pdf
needs a colon at the end. Then it worked.
plugins:
- search
- with-pdf:
author: My Name
Upvotes: 0
Reputation: 1742
In my case, my url for downloading the file i was trying to parse was no longer valid, and so it was trying to parse the "Oops can't find the file" html page instead of the swagger file I had intended. Fixing my url resolved this.
Upvotes: 0
Reputation: 1
I had a similar issue in which the boolean keywords were incorrect.
threadsafe: True
...
Reference CloudBees tutorial found: link
Upvotes: 0
Reputation: 408
There was C-styled comment on top:
// some comment
root:
...
And nobody noticed this on review :/
Upvotes: 0
Reputation: 669
In my case I had this error when I was writing yml for a bitbucket ci pipeline.
script:
- curl https://url.com -H "Content-Type: application/json"
Although header comes wrapped in quotes, yml parser complains "mapping values are not allowed here" because there's the space after the colon.
The solution is to remove the space:
script:
- curl https://url.com -H "Content-Type:application/json"
^
Upvotes: 2
Reputation: 348
In our case, we had weird dash (–
) instead of normal one (-
) due to copy and paste.
Upvotes: 0
Reputation: 2943
There are couple of issues in the yaml file as mentioned by most, with yaml files normally it gets messy to identify the issue,
fortunately it can be identified easily with tools like yaml lint and you may not require help from the community.
Install it
npm install -g yaml-lint
Here is how you can validate
E:\githubRepos\prometheus-sql-exporter-usage>yamllint docker-compose.yaml
√ YAML Lint successful.
Upvotes: 2
Reputation: 24966
Change
application:climate-change
to
application: climate-change
The space after the colon is mandatory in yaml if you want a key-value pair. (See http://www.yaml.org/spec/1.2/spec.html#id2759963)
Upvotes: 155
Reputation: 51
Incorrect:
people:
empId: 123
empName: John
empDept: IT
Correct:
people:
emp:
id: 123
name: John
dept: IT
Upvotes: 5
Reputation: 7399
My issue was a missing set of quotes;
Foo: bar 'baz'
should be
Foo: "bar 'baz'"
Upvotes: 1
Reputation: 4239
I've seen this error in a similar situation to mentioned in Joe's answer:
description: Too high 5xx responses rate: {{ .Value }} > 0.05
We have a colon in description value. So, the problem is in missing quotes around description value. It can be resolved by adding quotes:
description: 'Too high 5xx responses rate: {{ .Value }} > 0.05'
Upvotes: 8
Reputation: 1376
Another cause is wrong indentation which means trying to create the wrong objects. I've just fixed one in a Kubernetes Ingress definition:
Wrong
- path: /
backend:
serviceName: <service_name>
servicePort: <port>
Correct
- path: /
backend:
serviceName: <service_name>
servicePort: <port>
Upvotes: 92
Reputation: 1031
Maybe this will help someone else, but I've seen this error when the RHS of the mapping contains a colon without enclosing quotes, such as:
someKey: another key: Change to make today: work out more
should be
someKey: another key: "Change to make today: work out more"
Upvotes: 5
Reputation: 52253
Or, if spacing is not the problem, it might want the parent directory name rather than the file name.
Not $ dev_appserver helloapp.py
But $ dev_appserver hello/
For example:
Johns-Mac:hello john$ dev_appserver.py helloworld.py
Traceback (most recent call last):
File "/usr/local/bin/dev_appserver.py", line 82, in <module>
_run_file(__file__, globals())
...
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/yaml_listener.py", line 212, in _GenerateEventParameters
raise yaml_errors.EventListenerYAMLError(e)
google.appengine.api.yaml_errors.EventListenerYAMLError: mapping values are not allowed here
in "helloworld.py", line 3, column 39
Versus
Johns-Mac:hello john$ cd ..
Johns-Mac:fbm john$ dev_appserver.py hello/
INFO 2014-09-15 11:44:27,828 api_server.py:171] Starting API server at: http://localhost:61049
INFO 2014-09-15 11:44:27,831 dispatcher.py:183] Starting module "default" running at: http://localhost:8080
Upvotes: 6