1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
//
// Copyright (c) 2024 Dmitry Arkhipov (grisumbras@yandex.ru)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/json
//
#ifndef BOOST_JSON_BENCH_APACHE_BUILDS_HPP
#define BOOST_JSON_BENCH_APACHE_BUILDS_HPP
#include <boost/describe/class.hpp>
#include <boost/optional/optional.hpp>
#include <map>
#include <string>
#include <vector>
namespace boost {
namespace json {
namespace apache_builds {
struct label
{
boost::optional<std::string> name;
};
BOOST_DESCRIBE_STRUCT( label, (), (name) )
struct job
{
std::string name;
std::string url;
std::string color;
};
BOOST_DESCRIBE_STRUCT( job, (), (name, url, color) )
struct view
{
std::string name;
std::string url;
};
BOOST_DESCRIBE_STRUCT( view, (), (name, url) )
struct builds
{
std::vector<label> assignedLabels;
std::string mode;
std::string nodeDescription;
std::string nodeName;
std::size_t numExecutors;
std::string description;
std::vector<job> jobs;
std::map<std::string, int> overallLoad;
view primaryView;
bool quietingDown;
std::size_t slaveAgentPort;
std::map<std::string, int> unlabeledLoad;
bool useCrumbs;
bool useSecurity;
std::vector<view> views;
};
BOOST_DESCRIBE_STRUCT(
builds,
(),
( assignedLabels,
mode,
nodeDescription,
nodeName,
numExecutors,
description,
jobs,
overallLoad,
primaryView,
quietingDown,
slaveAgentPort,
unlabeledLoad,
useCrumbs,
useSecurity,
views )
)
} // namespace apache_builds
struct apache_builds_support
{
using type = apache_builds::builds;
static constexpr char const* const name = "apache_builds.json";
};
} // namespace json
} // namespace boost
#endif // BOOST_JSON_BENCH_APACHE_BUILDS_HPP
|