Merge "Final fixup to APIv2 responses"
This commit is contained in:
commit
927c7c215c
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
other:
|
||||
- A few responses in the experimental (but nearly-stable) APIv2 have been
|
||||
tweaked. To be specific, the key `hadoop_version` has been replaced with
|
||||
`plugin_version`, the key `job` has been replaced with `job_template`, the
|
||||
key `job_execution` has been replaced with `job`, and the key
|
||||
`oozie_job_id` has been replaced with `engine_job_id`. In fact, these
|
||||
changes were all previously partially implemented, and are now completely
|
||||
implemented.
|
|
@ -31,6 +31,8 @@ rest = u.RestV2('cluster-templates', __name__)
|
|||
v.validate_sorting_cluster_templates)
|
||||
def cluster_templates_list():
|
||||
result = api.get_cluster_templates(**u.get_request_args().to_dict())
|
||||
for ct in result:
|
||||
u._replace_hadoop_version_plugin_version(ct)
|
||||
return u.render(res=result, name='cluster_templates')
|
||||
|
||||
|
||||
|
@ -43,14 +45,19 @@ def cluster_templates_create(data):
|
|||
# this can be removed once APIv1 is deprecated
|
||||
data['hadoop_version'] = data['plugin_version']
|
||||
del data['plugin_version']
|
||||
return u.render(api.create_cluster_template(data).to_wrapped_dict())
|
||||
result = api.create_cluster_template(data).to_wrapped_dict()
|
||||
u._replace_hadoop_version_plugin_version(result['cluster_template'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.get('/cluster-templates/<cluster_template_id>')
|
||||
@acl.enforce("data-processing:cluster-templates:get")
|
||||
@v.check_exists(api.get_cluster_template, 'cluster_template_id')
|
||||
def cluster_templates_get(cluster_template_id):
|
||||
return u.to_wrapped_dict(api.get_cluster_template, cluster_template_id)
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.get_cluster_template, cluster_template_id)
|
||||
u._replace_hadoop_version_plugin_version(result['cluster_template'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.patch('/cluster-templates/<cluster_template_id>')
|
||||
|
@ -62,8 +69,10 @@ def cluster_templates_update(cluster_template_id, data):
|
|||
if data.get('plugin_version', None):
|
||||
data['hadoop_version'] = data['plugin_version']
|
||||
del data['plugin_version']
|
||||
return u.to_wrapped_dict(
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.update_cluster_template, cluster_template_id, data)
|
||||
u._replace_hadoop_version_plugin_version(result['cluster_template'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.delete('/cluster-templates/<cluster_template_id>')
|
||||
|
@ -91,6 +100,7 @@ def _cluster_template_export_helper(template):
|
|||
def cluster_template_export(cluster_template_id):
|
||||
content = u.to_wrapped_dict_no_render(
|
||||
api.export_cluster_template, cluster_template_id)
|
||||
u._replace_hadoop_version_plugin_version(content['cluster_template'])
|
||||
_cluster_template_export_helper(content['cluster_template'])
|
||||
res = u.render(content)
|
||||
res.headers.add('Content-Disposition', 'attachment',
|
||||
|
|
|
@ -33,6 +33,8 @@ rest = u.RestV2('clusters', __name__)
|
|||
@v.validate(None, v.validate_pagination_limit)
|
||||
def clusters_list():
|
||||
result = api.get_clusters(**u.get_request_args().to_dict())
|
||||
for c in result:
|
||||
u._replace_hadoop_version_plugin_version(c)
|
||||
return u.render(res=result, name='clusters')
|
||||
|
||||
|
||||
|
@ -46,9 +48,14 @@ def clusters_create(data):
|
|||
data['hadoop_version'] = data['plugin_version']
|
||||
del data['plugin_version']
|
||||
if data.get('count', None) is not None:
|
||||
return u.render(api.create_multiple_clusters(data))
|
||||
result = api.create_multiple_clusters(data)
|
||||
for c in result:
|
||||
u._replace_hadoop_version_plugin_version(c['cluster'])
|
||||
return u.render(result)
|
||||
else:
|
||||
return u.render(api.create_cluster(data).to_wrapped_dict())
|
||||
result = api.create_cluster(data).to_wrapped_dict()
|
||||
u._replace_hadoop_version_plugin_version(c['cluster'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.put('/clusters/<cluster_id>')
|
||||
|
@ -56,7 +63,10 @@ def clusters_create(data):
|
|||
@v.check_exists(api.get_cluster, 'cluster_id')
|
||||
@v.validate(v_c_schema.CLUSTER_SCALING_SCHEMA_V2, v_c_s.check_cluster_scaling)
|
||||
def clusters_scale(cluster_id, data):
|
||||
return u.to_wrapped_dict(api.scale_cluster, cluster_id, data)
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.scale_cluster, cluster_id, data)
|
||||
u._replace_hadoop_version_plugin_version(result['cluster'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.get('/clusters/<cluster_id>')
|
||||
|
@ -66,7 +76,10 @@ def clusters_get(cluster_id):
|
|||
data = u.get_request_args()
|
||||
show_events = six.text_type(
|
||||
data.get('show_progress', 'false')).lower() == 'true'
|
||||
return u.to_wrapped_dict(api.get_cluster, cluster_id, show_events)
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.get_cluster, cluster_id, show_events)
|
||||
u._replace_hadoop_version_plugin_version(result['cluster'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.patch('/clusters/<cluster_id>')
|
||||
|
@ -74,7 +87,10 @@ def clusters_get(cluster_id):
|
|||
@v.check_exists(api.get_cluster, 'cluster_id')
|
||||
@v.validate(v_c_schema.CLUSTER_UPDATE_SCHEMA, v_c.check_cluster_update)
|
||||
def clusters_update(cluster_id, data):
|
||||
return u.to_wrapped_dict(api.update_cluster, cluster_id, data)
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.update_cluster, cluster_id, data)
|
||||
u._replace_hadoop_version_plugin_version(result['cluster'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.delete('/clusters/<cluster_id>')
|
||||
|
|
|
@ -38,14 +38,15 @@ def job_templates_list():
|
|||
@acl.enforce("data-processing:job-templates:create")
|
||||
@v.validate(v_j_schema.JOB_SCHEMA, v_j.check_mains_libs, v_j.check_interface)
|
||||
def job_templates_create(data):
|
||||
return u.render(api.create_job_template(data).to_wrapped_dict())
|
||||
return u.render({'job_template': api.create_job_template(data).to_dict()})
|
||||
|
||||
|
||||
@rest.get('/job-templates/<job_templates_id>')
|
||||
@acl.enforce("data-processing:job-templates:get")
|
||||
@v.check_exists(api.get_job_templates, id='job_templates_id')
|
||||
def job_templates_get(job_templates_id):
|
||||
return u.to_wrapped_dict(api.get_job_template, job_templates_id)
|
||||
return u.render({'job_template': api.get_job_template(
|
||||
job_templates_id).to_dict()})
|
||||
|
||||
|
||||
@rest.patch('/job-templates/<job_templates_id>')
|
||||
|
@ -53,7 +54,8 @@ def job_templates_get(job_templates_id):
|
|||
@v.check_exists(api.get_job_templates, id='job_templates_id')
|
||||
@v.validate(v_j_schema.JOB_UPDATE_SCHEMA)
|
||||
def job_templates_update(job_templates_id, data):
|
||||
return u.to_wrapped_dict(api.update_job_template, job_templates_id, data)
|
||||
return u.render({'job_template': api.update_job_template(
|
||||
job_templates_id, data).to_dict()})
|
||||
|
||||
|
||||
@rest.delete('/job-templates/<job_templates_id>')
|
||||
|
|
|
@ -45,7 +45,11 @@ def jobs_list():
|
|||
@acl.enforce("data-processing:jobs:execute")
|
||||
@v.validate(v_j_e_schema.JOB_EXEC_SCHEMA_V2, v_j_e.check_job_execution)
|
||||
def jobs_execute(data):
|
||||
return u.render(api.execute_job(data).to_wrapped_dict())
|
||||
result = {'job': api.execute_job(data)}
|
||||
dict.update(result['job'],
|
||||
{'engine_job_id': result['job']['oozie_job_id']})
|
||||
dict.pop(result['job'], 'oozie_job_id')
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.get('/jobs/<job_id>')
|
||||
|
@ -55,12 +59,8 @@ def jobs_get(job_id):
|
|||
data = u.get_request_args()
|
||||
refresh_status = six.text_type(
|
||||
data.get('refresh_status', 'false')).lower() == 'true'
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.get_job_execution, job_id, refresh_status)
|
||||
result['job_execution']['engine_job_id'] = (
|
||||
result['job_execution']['oozie_job_id']
|
||||
)
|
||||
del result['job_execution']['oozie_job_id']
|
||||
result = {'job': api.get_job_execution(job_id, refresh_status)}
|
||||
result['job'].pop('oozie_job_id', force=True)
|
||||
return u.render(result)
|
||||
|
||||
|
||||
|
@ -70,12 +70,8 @@ def jobs_get(job_id):
|
|||
@v.validate(
|
||||
v_j_e_schema.JOB_EXEC_UPDATE_SCHEMA, v_j_e.check_job_execution_update)
|
||||
def jobs_update(job_id, data):
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.update_job_execution, job_id, data)
|
||||
result['job_execution']['engine_job_id'] = (
|
||||
result['job_execution']['oozie_job_id']
|
||||
)
|
||||
del result['job_execution']['oozie_job_id']
|
||||
result = {'job': api.update_job_execution(job_id, data)}
|
||||
result['job'].pop('oozie_job_id', force=True)
|
||||
return u.render(result)
|
||||
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ rest = u.RestV2('node-group-templates', __name__)
|
|||
v.validate_sorting_node_group_templates)
|
||||
def node_group_templates_list():
|
||||
result = api.get_node_group_templates(**u.get_request_args().to_dict())
|
||||
for ngt in result:
|
||||
u._replace_hadoop_version_plugin_version(ngt)
|
||||
return u.render(res=result, name="node_group_templates")
|
||||
|
||||
|
||||
|
@ -44,15 +46,19 @@ def node_group_templates_create(data):
|
|||
# this can be removed once APIv1 is deprecated
|
||||
data['hadoop_version'] = data['plugin_version']
|
||||
del data['plugin_version']
|
||||
return u.render(api.create_node_group_template(data).to_wrapped_dict())
|
||||
result = api.create_node_group_template(data).to_wrapped_dict()
|
||||
u._replace_hadoop_version_plugin_version(result['node_group_template'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.get('/node-group-templates/<node_group_template_id>')
|
||||
@acl.enforce("data-processing:node-group-templates:get")
|
||||
@v.check_exists(api.get_node_group_template, 'node_group_template_id')
|
||||
def node_group_templates_get(node_group_template_id):
|
||||
return u.to_wrapped_dict(
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.get_node_group_template, node_group_template_id)
|
||||
u._replace_hadoop_version_plugin_version(result['node_group_template'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.patch('/node-group-templates/<node_group_template_id>')
|
||||
|
@ -64,8 +70,10 @@ def node_group_templates_update(node_group_template_id, data):
|
|||
if data.get('plugin_version', None):
|
||||
data['hadoop_version'] = data['plugin_version']
|
||||
del data['plugin_version']
|
||||
return u.to_wrapped_dict(
|
||||
result = u.to_wrapped_dict_no_render(
|
||||
api.update_node_group_template, node_group_template_id, data)
|
||||
u._replace_hadoop_version_plugin_version(result['node_group_template'])
|
||||
return u.render(result)
|
||||
|
||||
|
||||
@rest.delete('/node-group-templates/<node_group_template_id>')
|
||||
|
@ -95,6 +103,7 @@ def _node_group_template_export_helper(template):
|
|||
def node_group_template_export(node_group_template_id):
|
||||
content = u.to_wrapped_dict_no_render(
|
||||
api.export_node_group_template, node_group_template_id)
|
||||
u._replace_hadoop_version_plugin_version(content['node_group_template'])
|
||||
_node_group_template_export_helper(content['node_group_template'])
|
||||
res = u.render(content)
|
||||
res.headers.add('Content-Disposition', 'attachment',
|
||||
|
|
|
@ -349,3 +349,8 @@ def to_wrapped_dict_no_render(func, id, *args, **kwargs):
|
|||
|
||||
return not_found(e)
|
||||
return obj.to_wrapped_dict()
|
||||
|
||||
|
||||
def _replace_hadoop_version_plugin_version(obj):
|
||||
dict.update(obj, {'plugin_version': obj['hadoop_version']})
|
||||
dict.pop(obj, 'hadoop_version')
|
||||
|
|
Loading…
Reference in New Issue