class ChefZero::Endpoints::NodesEndpoint

/nodes

Public Instance Methods

populate_defaults(request, response_json) click to toggle source
# File lib/chef_zero/endpoints/nodes_endpoint.rb, line 27
def populate_defaults(request, response_json)
  node = FFI_Yajl::Parser.parse(response_json)
  node = ChefData::DataNormalizer.normalize_node(node, request.rest_path[3])
  FFI_Yajl::Encoder.encode(node, pretty: true)
end
post(request) click to toggle source
Calls superclass method
# File lib/chef_zero/endpoints/nodes_endpoint.rb, line 10
def post(request)
  # /nodes validation
  if request.rest_path.last == "nodes"
    data = parse_json(request.body)

    if data.key?("policy_name") && policy_name_invalid?(data["policy_name"])
      return error(400, "Field 'policy_name' invalid", pretty: false)
    end

    if data.key?("policy_group") && policy_name_invalid?(data["policy_group"])
      return error(400, "Field 'policy_group' invalid", pretty: false)
    end
  end

  super(request)
end