The reference API data of Grid'5000 is stored in a git repository as JSON files. Those files are organized into hierarchical folders (see data/). The git repository comes with scripts to ease the generation of those API files (see generators/). The generator uses data from input/. The node information (input/grid5000/sites/*/clusters/*/nodes/*.yaml) is fetched using [g5k-checks](https://github.com/grid5000/g5k-checks). The other input files are created manually.
The git repository also includes scripts for generating:
# Detect inconsistency between the type (String/Fixnum) of properties generated by this script and the existing values on the server.
puts"Error: the OAR property '#{k}' is a '#{v_oar}' on the #{site_uid} server and this script uses '#{v_ref}' for this property."
ret=falseunlessoptions[:exec]||options[:output]
end
end
puts"Properties that need to be created on the #{site_uid} server: #{properties_keys['diff'][site_uid].keys.to_a.delete_if{|e|ignore_default_keys.include?(e)}.join(', ')}"ifoptions[:verbose]&&properties_keys['diff'][site_uid].keys.to_a.delete_if{|e|ignore_default_keys.include?(e)}.size>0