Error: Mapping Values Are Not Allowed in This Context
Following Is the Code. Verified Indentation. Unable to Figure out the Exact Issue. Code: - Name: Create K8S Ingress K8S: Api_Version: Namespace...
Following is the code. Verified indentation. Unable to figure out the exact issue.
Code :
- name: Create K8s ingress
k8s:
api_version:
namespace: "{{namespace}}"
definition:
kind: Ingress
metadata:
name: "{{namespace}}-ingress"
annotations:
HTTP
""
""
'false'
'false'
'false'
core-service
core-service
spec:
rules:
- host: "{MY_DOMAIN}}"
http:
paths:
- backend:
service:
name: "wordpress"
port:
number: 80
path: /
pathType: ImplementationSpecific
Error : Syntax Error while loading YAML. mapping values are not allowed in this context
The error appears to be in '/mnt/disc2/workspace/wp-sr-demo/auth-playbooks/wordpress/roles/deploy/tasks/main.yml': line 110, column 51, but may be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
""
^ here
This one looks easy to fix. It seems that there is a value started with a quote, and the YAML parser is expecting to see the line ended with the same kind of quote. For instance:
when: "ok" in result.stdout
Could be written as:
when: '"ok" in result.stdout'
Or equivalently:
when: "'ok' in result.stdout"
1 Answer
Indentation of the attributes name and k8s is wrong
- name: Create K8s ingress
k8s:
The correct indentation of the attributes name and k8s must be the same because they belong to the same dictionary
- name: Create K8s ingress
k8s:
If you move the first line two spaces to the right you'll get valid YAML.