1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# ajv errors
```json
[
{
"instancePath": "",
"keyword": "additionalProperties",
"message": "must NOT have additional properties",
"params": {
"additionalProperty": "async"
},
"schemaPath": "#/anyOf/0/additionalProperties"
},
{
"instancePath": "",
"keyword": "additionalProperties",
"message": "must NOT have additional properties",
"params": {
"additionalProperty": "lambda"
},
"schemaPath": "#/anyOf/0/additionalProperties"
},
{
"instancePath": "",
"keyword": "type",
"message": "must be string",
"params": {
"type": "string"
},
"schemaPath": "#/anyOf/1/type"
},
{
"instancePath": "",
"keyword": "type",
"message": "must be null",
"params": {
"type": "null"
},
"schemaPath": "#/anyOf/2/type"
},
{
"instancePath": "",
"keyword": "anyOf",
"message": "must match a schema in anyOf",
"params": {},
"schemaPath": "#/anyOf"
}
]
```
# check-jsonschema
stdout:
```json
{
"status": "fail",
"errors": [
{
"filename": "negative_test/playbooks/vars/python-keyword.yml",
"path": "$",
"message": "{'async': '...', 'lambda': '...'} is not valid under any of the given schemas",
"has_sub_errors": true,
"best_match": {
"path": "$",
"message": "{'async': '...', 'lambda': '...'} is not of type 'string'"
},
"sub_errors": [
{
"path": "$",
"message": "'async', 'lambda' do not match any of the regexes: '^(?!(False|None|True|and|any_errors_fatal|as|assert|async|await|become|become_exe|become_flags|become_method|become_user|break|check_mode|class|collections|connection|continue|debugger|def|del|diff|elif|else|environment|except|fact_path|finally|for|force_handlers|from|gather_facts|gather_subset|gather_timeout|global|handlers|hosts|if|ignore_errors|ignore_unreachable|import|in|is|lambda|max_fail_percentage|module_defaults|name|no_log|nonlocal|not|or|order|pass|port|post_tasks|pre_tasks|raise|remote_user|return|roles|run_once|serial|strategy|tags|tasks|throttle|timeout|try|vars|vars_files|vars_prompt|while|with|yield)$)[a-zA-Z_][\\\\w]*$'"
},
{
"path": "$",
"message": "{'async': '...', 'lambda': '...'} is not of type 'string'"
},
{
"path": "$",
"message": "{'async': '...', 'lambda': '...'} is not of type 'null'"
}
]
}
],
"parse_errors": []
}
```
|