def delete_key_tag(request): """ Tags: tags --- Deletes a tag in the db for specified resource_type. EDIT_TAGS permission required on key. --- tag_key: required: true type: string key_id: in: path required: true type: string """ auth_context = auth_context_from_request(request) params = params_from_request(request) key_id = request.matchdict["key_id"] tag_key = params.get("tag_key") # SEC require EDIT_TAGS permission on key auth_context.check_perm('key', 'edit_tags', key_id) if not delete_security_tag(auth_context, tag_key): raise auth_context._raise('key', 'edit_security_tags') return resolve_id_and_delete_tags(auth_context.owner, 'key', key_id, tags=[tag_key])
def delete_network_tag(request): """ Delete a tag Delete tag in the db for specified resource_type. READ permission required on cloud. EDIT_TAGS permission required on network. --- tag_key: in: path required: true type: string cloud_id: in: path required: true type: string network_id: in: path required: true type: string """ auth_context = auth_context_from_request(request) cloud_id = request.matchdict["cloud_id"] network_id = request.matchdict["network_id"] tag_key = request.matchdict["tag_key"] auth_context.check_perm('cloud', 'read', cloud_id) # SEC require EDIT_TAGS permission on network auth_context.check_perm('network', 'edit_tags', network_id) if not delete_security_tag(auth_context, tag_key): raise auth_context._raise('network', 'edit_security_tags') return resolve_id_and_delete_tags(auth_context.owner, 'network', network_id, tags=[tag_key], cloud_id=cloud_id)
def delete_schedule_tag(request): auth_context = auth_context_from_request(request) params = params_from_request(request) schedule_id = request.matchdict["schedule_id"] tag_key = params.get("tag_key") # SEC require EDIT_TAGS permission on schedule auth_context.check_perm('schedule', 'edit_tags', schedule_id) if not delete_security_tag(auth_context, tag_key): raise auth_context._raise('schedule', 'edit_security_tags') return resolve_id_and_delete_tags(auth_context.owner, 'schedule', schedule_id, tags=[tag_key])
def delete_machine_tag(request): """ Tags: tags --- Deletes tag in the db for specified resource_type. READ permission required on cloud. EDIT_TAGS permission required on machine. --- tag_key: required: true type: string cloud_id: in: path required: true type: string machine_id: in: path required: true type: string """ auth_context = auth_context_from_request(request) params = params_from_request(request) cloud_id = request.matchdict["cloud_id"] machine_id = request.matchdict["machine_id"] tag_key = params.get("tag_key") # SEC require READ permission on cloud auth_context.check_perm("cloud", "read", cloud_id) # SEC require EDIT_TAGS permission on machine auth_context.check_perm("machine", "edit_tags", machine_id) if not delete_security_tag(auth_context, tag_key): raise auth_context._raise('machine', 'edit_security_tags') return resolve_id_and_delete_tags(auth_context.owner, 'machine', machine_id, tags=[tag_key], cloud_id=cloud_id)