Update json schema for API v1_1
The API schema has been updated to comply with the protocol defined in [0]. [0] https://wiki.openstack.org/wiki/Zaqar/specs/Protocols/Wire_Transport Change-Id: Ib48bc75f0cf3456d8fb1d20883e5020dcfa21923
This commit is contained in:
parent
e2da5768c7
commit
5dc81adb04
@ -18,140 +18,575 @@ from zaqar.common.api import api
|
||||
|
||||
class RequestSchema(api.Api):
|
||||
|
||||
headers = {
|
||||
'User-Agent': {'type': 'string'},
|
||||
'Date': {'type': 'string'},
|
||||
'Accept': {'type': 'string'},
|
||||
'Client-ID': {'type': 'string'},
|
||||
'X-Project-ID': {'type': 'string'},
|
||||
'X-Auth-Token': {'type': 'string'}
|
||||
}
|
||||
|
||||
schema = {
|
||||
'queue_list': {
|
||||
'ref': 'queues',
|
||||
'method': 'GET',
|
||||
'properties': {
|
||||
'marker': {'type': 'string'},
|
||||
'limit': {'type': 'integer'},
|
||||
'detailed': {'type': 'boolean'}
|
||||
}
|
||||
},
|
||||
|
||||
'queue_create': {
|
||||
'ref': 'queues/{queue_name}',
|
||||
'method': 'PUT',
|
||||
'required': ['queue_name'],
|
||||
# Base
|
||||
'get_home_doc': {
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'}
|
||||
'action': {'enum': ['get_home_doc']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
'queue_delete': {
|
||||
'ref': 'queues/{queue_name}',
|
||||
'method': 'DELETE',
|
||||
'required': ['queue_name'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'}
|
||||
}
|
||||
},
|
||||
|
||||
'queue_get': {
|
||||
'ref': 'queues/{queue_name}',
|
||||
'method': 'GET',
|
||||
'required': ['queue_name'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'}
|
||||
}
|
||||
},
|
||||
|
||||
'queue_get_stats': {
|
||||
'ref': 'queues/{queue_name}/stats',
|
||||
'method': 'GET',
|
||||
'required': ['queue_name'],
|
||||
'required': ['action', 'headers'],
|
||||
'admin': True,
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
}
|
||||
},
|
||||
|
||||
'message_list': {
|
||||
'ref': 'queues/{queue_name}/messages',
|
||||
'method': 'GET',
|
||||
'required': ['queue_name'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'marker': {'type': 'string'},
|
||||
'limit': {'type': 'integer'},
|
||||
'echo': {'type': 'boolean'},
|
||||
'include_claimed': {'type': 'boolean'}
|
||||
}
|
||||
},
|
||||
|
||||
'message_post': {
|
||||
'ref': 'queues/{queue_name}/messages',
|
||||
'method': 'POST',
|
||||
'required': ['queue_name'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'}
|
||||
}
|
||||
},
|
||||
|
||||
'message_delete': {
|
||||
'ref': 'queues/{queue_name}/messages/{message_id}',
|
||||
'method': 'DELETE',
|
||||
'required': ['queue_name', 'message_id'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'message_id': {'type': 'string'},
|
||||
'claim_id': {'type': 'string'}
|
||||
}
|
||||
},
|
||||
|
||||
'message_delete_many': {
|
||||
'ref': 'queues/{queue_name}/messages',
|
||||
'method': 'DELETE',
|
||||
'required': ['queue_name', 'ids'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'ids': {'type': 'array'},
|
||||
'pop': {'type': 'integer'}
|
||||
}
|
||||
},
|
||||
|
||||
'claim_create': {
|
||||
'ref': 'queues/{queue_name}/claims',
|
||||
'method': 'POST',
|
||||
'required': ['queue_name'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'limit': {'type': 'integer'}
|
||||
}
|
||||
},
|
||||
|
||||
'claim_get': {
|
||||
'ref': 'queues/{queue_name}/claims/{claim_id}',
|
||||
'method': 'GET',
|
||||
'required': ['queue_name', 'claim_id'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'claim_id': {'type': 'string'}
|
||||
}
|
||||
},
|
||||
|
||||
'claim_update': {
|
||||
'ref': 'queues/{queue_name}/claims/{claim_id}',
|
||||
'method': 'PATCH',
|
||||
'required': ['queue_name', 'claim_id'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'claim_id': {'type': 'string'}
|
||||
}
|
||||
},
|
||||
|
||||
'claim_delete': {
|
||||
'ref': 'queues/{queue_name}/claims/{claim_id}',
|
||||
'method': 'DELETE',
|
||||
'required': ['queue_name', 'claim_id'],
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'claim_id': {'type': 'string'}
|
||||
}
|
||||
},
|
||||
|
||||
'check_node_health': {
|
||||
'ref': '/v1/health',
|
||||
'method': 'GET',
|
||||
'properties': {
|
||||
'action': {'enum': ['check_node_health']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers'],
|
||||
'admin': True,
|
||||
},
|
||||
}
|
||||
|
||||
'ping_node': {
|
||||
'properties': {
|
||||
'action': {'enum': ['ping_node']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
# Queues
|
||||
'queue_list': {
|
||||
'properties': {
|
||||
'action': {'enum': ['queue_list']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'marker': {'type': 'string'},
|
||||
'limit': {'type': 'integer'},
|
||||
'detailed': {'type': 'boolean'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers']
|
||||
},
|
||||
|
||||
'queue_create': {
|
||||
'properties': {
|
||||
'action': {'enum': ['queue_create']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
},
|
||||
'required': ['queue_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'queue_delete': {
|
||||
'properties': {
|
||||
'action': {'enum': ['queue_delete']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
},
|
||||
'required': ['queue_name']
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'queue_get': {
|
||||
'properties': {
|
||||
'action': {'enum': ['queue_delete']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
},
|
||||
'required': ['queue_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'queue_get_stats': {
|
||||
'properties': {
|
||||
'action': {'enum': ['queue_get_stats']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
},
|
||||
'required': ['queue_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True
|
||||
},
|
||||
|
||||
# Messages
|
||||
'message_list': {
|
||||
'properties': {
|
||||
'action': {'enum': ['message_list']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'marker': {'type': 'string'},
|
||||
'limit': {'type': 'integer'},
|
||||
'echo': {'type': 'boolean'},
|
||||
'include_claimed': {'type': 'boolean'},
|
||||
},
|
||||
'required': ['queue_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'message_get': {
|
||||
'properties': {
|
||||
'action': {'enum': ['message_get']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'message_id': {'type': 'string'},
|
||||
},
|
||||
'required': ['queue_name', 'message_id'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'message_get_many': {
|
||||
'properties': {
|
||||
'action': {'enum': ['message_get_many']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'message_ids': {'type': 'array'},
|
||||
},
|
||||
'required': ['queue_name', 'message_ids'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'message_post': {
|
||||
'properties': {
|
||||
'action': {'enum': ['message_post']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
},
|
||||
'required': ['queue_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'message_delete': {
|
||||
'properties': {
|
||||
'action': {'enum': ['message_delete']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'message_id': {'type': 'string'},
|
||||
'claim_id': {'type': 'string'}
|
||||
},
|
||||
'required': ['queue_name', 'message_id'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'message_delete_many': {
|
||||
'properties': {
|
||||
'action': {'enum': ['message_delete_many']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'message_ids': {'type': 'array'},
|
||||
'pop': {'type': 'integer'}
|
||||
},
|
||||
'required': ['queue_name', 'message_ids'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
# Claims
|
||||
'claim_create': {
|
||||
'properties': {
|
||||
'action': {'enum': ['claim_create']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'limit': {'type': 'integer'},
|
||||
'ttl': {'type': 'integer'},
|
||||
'grace': {'type': 'integer'}
|
||||
},
|
||||
'required': ['queue_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'claim_get': {
|
||||
'properties': {
|
||||
'action': {'enum': ['claim_get']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'claim_id': {'type': 'string'}
|
||||
},
|
||||
'required': ['queue_name', 'claim_id'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'claim_update': {
|
||||
'properties': {
|
||||
'action': {'enum': ['claim_update']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'claim_id': {'type': 'string'},
|
||||
'ttl': {'type': 'integer'}
|
||||
},
|
||||
'required': ['queue_name', 'claim_id'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
'claim_delete': {
|
||||
'properties': {
|
||||
'action': {'enum': ['claim_delete']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'queue_name': {'type': 'string'},
|
||||
'claim_id': {'type': 'string'}
|
||||
},
|
||||
'required': ['queue_name', 'claim_id'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body']
|
||||
},
|
||||
|
||||
# Pools
|
||||
'pool_list': {
|
||||
'properties': {
|
||||
'action': {'enum': ['pool_list']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'pool_name': {'type': 'string'},
|
||||
'limit': {'type': 'integer'},
|
||||
'marker': {'type': 'string'}
|
||||
},
|
||||
'required': ['pool_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
'pool_create': {
|
||||
'properties': {
|
||||
'action': {'enum': ['pool_create']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'pool_name': {'type': 'string'},
|
||||
'weight': {'type': 'integer'},
|
||||
'uri': {'type': 'string'},
|
||||
'options': {'type': 'object'},
|
||||
},
|
||||
'required': ['pool_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
'pool_update': {
|
||||
'properties': {
|
||||
'action': {'enum': ['pool_update']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'pool_name': {'type': 'string'},
|
||||
'weight': {'type': 'integer'},
|
||||
'uri': {'type': 'string'},
|
||||
'options': {'type': 'object'},
|
||||
},
|
||||
'required': ['pool_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
'pool_get': {
|
||||
'properties': {
|
||||
'action': {'enum': ['pool_get']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'pool_name': {'type': 'string'},
|
||||
'detailed': {'type': 'boolean'}
|
||||
},
|
||||
'required': ['pool_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
'pool_delete': {
|
||||
'properties': {
|
||||
'action': {'enum': ['pool_delete']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'pool_name': {'type': 'string'}
|
||||
},
|
||||
'required': ['pool_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
# Flavors
|
||||
'flavor_list': {
|
||||
'properties': {
|
||||
'action': {'enum': ['flavor_list']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'flavor_name': {'type': 'string'},
|
||||
'limit': {'type': 'integer'},
|
||||
'marker': {'type': 'string'}
|
||||
},
|
||||
'required': ['flavor_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
'flavor_create': {
|
||||
'properties': {
|
||||
'action': {'enum': ['flavor_create']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'flavor_name': {'type': 'string'},
|
||||
'pool_name': {'type': 'string'},
|
||||
'capabilities': {'type': 'object'},
|
||||
},
|
||||
'required': ['flavor_name', 'pool_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
'flavor_update': {
|
||||
'properties': {
|
||||
'action': {'enum': ['flavor_update']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'flavor_name': {'type': 'string'},
|
||||
'pool_name': {'type': 'string'},
|
||||
'capabilities': {'type': 'object'},
|
||||
},
|
||||
'required': ['flavor_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
'flavor_get': {
|
||||
'properties': {
|
||||
'action': {'enum': ['flavor_get']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'flavor_name': {'type': 'string'},
|
||||
'detailed': {'type': 'boolean'}
|
||||
},
|
||||
'required': ['flavor_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
|
||||
'flavor_delete': {
|
||||
'properties': {
|
||||
'action': {'enum': ['flavor_delete']},
|
||||
'headers': {
|
||||
'type': 'object',
|
||||
'properties': headers,
|
||||
'required': ['Client-ID', 'X-Project-ID']
|
||||
},
|
||||
'body': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'flavor_name': {'type': 'string'}
|
||||
},
|
||||
'required': ['flavor_name'],
|
||||
}
|
||||
},
|
||||
'required': ['action', 'headers', 'body'],
|
||||
'admin': True,
|
||||
},
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user