· 6 years ago · Jun 27, 2019, 04:42 PM
1'value': {'type': 'string'},
2
3'value': {'type': ['string', 'list', 'dict']},
4
5Traceback (most recent call last):
6 File "/usr/local/lib/python2.7/dist-packages/gevent/pywsgi.py", line 976, in handle_one_response
7 self.run_application()
8 File "/usr/local/lib/python2.7/dist-packages/gevent/pywsgi.py", line 923, in run_application
9 self.result = self.application(self.environ, self.start_response)
10 File "/usr/local/lib/python2.7/dist-packages/eve/flaskapp.py", line 1105, in __call__
11 return super(Eve, self).__call__(environ, start_response)
12 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2328, in __call__
13 return self.wsgi_app(environ, start_response)
14 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2314, in wsgi_app
15 response = self.handle_exception(e)
16 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1760, in handle_exception
17 reraise(exc_type, exc_value, tb)
18 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2311, in wsgi_app
19 response = self.full_dispatch_request()
20 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1834, in full_dispatch_request
21 rv = self.handle_user_exception(e)
22 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1737, in handle_user_exception
23 reraise(exc_type, exc_value, tb)
24 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1832, in full_dispatch_request
25 rv = self.dispatch_request()
26 File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1818, in dispatch_request
27 return self.view_functions[rule.endpoint](**req.view_args)
28 File "/usr/local/lib/python2.7/dist-packages/eve_swagger/swagger.py", line 38, in decorated
29 resp = make_response(f(*args, **kwargs))
30 File "/usr/local/lib/python2.7/dist-packages/eve_swagger/swagger.py", line 100, in index
31 node(root, 'definitions', definitions())
32 File "/usr/local/lib/python2.7/dist-packages/eve_swagger/definitions.py", line 25, in definitions
33 definitions[title] = _object(rd, dr_sources)
34 File "/usr/local/lib/python2.7/dist-packages/eve_swagger/definitions.py", line 42, in _object
35 props[field] = _field_props(rules, dr_sources, def_name)
36 File "/usr/local/lib/python2.7/dist-packages/eve_swagger/definitions.py", line 147, in _field_props
37 resp['items'] = _field_props(rules['schema'], dr_sources, prefix)
38 File "/usr/local/lib/python2.7/dist-packages/eve_swagger/definitions.py", line 143, in _field_props
39 resp.update(_object(pseudo_rd, dr_sources))
40 File "/usr/local/lib/python2.7/dist-packages/eve_swagger/definitions.py", line 42, in _object
41 props[field] = _field_props(rules, dr_sources, def_name)
42 File "/usr/local/lib/python2.7/dist-packages/eve_swagger/definitions.py", line 134, in _field_props
43 type = map.get(eve_type, (eve_type,))
44TypeError: unhashable type: 'list'
45
46groups = {
47 'schema': {
48 'name': {
49 'type': 'string',
50 'minlength': 1,
51 'maxlength': 50,
52 'required': True,
53 },
54 'hosts': {
55 'type': 'list',
56 'required': True,
57 },
58 'groupvars': {
59 'type': 'list',
60 'schema': {
61 'type': 'dict',
62 'schema': {
63 'name': {'type': 'string'},
64 'value': {'type': ['string', 'list', 'dict']},
65 }
66 },
67 'required': True,
68 },
69 'varsonly': {
70 'type': 'boolean',
71 'default': False,
72 'required': True,
73 },
74 'static': {
75 'type': 'boolean',
76 'default': False,
77 'required': True,
78 'readonly': True
79 }
80 }
81}
82
83accounts = {
84 'allowed_roles': ['admin'],
85 'allowed_item_roles': ['admin'],
86 'schema':{
87 'username': {
88 'type': 'string',
89 'minlength': 5,
90 'maxlength': 30,
91 },
92 'password': {
93 'type': 'string',
94 'minlength': 5,
95 'maxlength': 30,
96 },
97 'secret_key': {
98 'type': 'string',
99 'minlength': 5,
100 'maxlength': 30,
101 },
102 'roles': {
103 'type': 'string',
104 'minlength': 5,
105 'maxlength': 50,
106 },
107 'token': {
108 'type': 'string',
109 'minlength': 10,
110 'maxlength': 100,
111 },
112 }
113}
114
115DOMAIN = {
116 'groups': groups,
117 'accounts': accounts
118}