// Thish file is generated by /tools/codegen
// DO NOT EDIT IT.

// clang-format off

//  To parse this JSON data, first install
//
//      json.hpp  https://github.com/nlohmann/json
//
//  Then include this file, and then do
//
//     LinuxResources.hpp data = nlohmann::json::parse(jsonString);

#pragma once

#include <optional>
#include <nlohmann/json.hpp>
#include "ocppi/runtime/config/types/helper.hpp"

#include "ocppi/runtime/config/types/BlockIO.hpp"
#include "ocppi/runtime/config/types/PurpleCPU.hpp"
#include "ocppi/runtime/config/types/DeviceCgroup.hpp"
#include "ocppi/runtime/config/types/HugepageLimit.hpp"
#include "ocppi/runtime/config/types/PurpleMemory.hpp"
#include "ocppi/runtime/config/types/ResourcesNetwork.hpp"
#include "ocppi/runtime/config/types/Pids.hpp"
#include "ocppi/runtime/config/types/Rdma.hpp"

namespace ocppi {
namespace runtime {
namespace config {
namespace types {
using nlohmann::json;

struct LinuxResources {
std::optional<BlockIO> blockIO;
std::optional<PurpleCPU> cpu;
std::optional<std::vector<DeviceCgroup>> devices;
std::optional<std::vector<HugepageLimit>> hugepageLimits;
std::optional<PurpleMemory> memory;
std::optional<ResourcesNetwork> network;
std::optional<Pids> pids;
std::optional<std::map<std::string, Rdma>> rdma;
std::optional<std::map<std::string, std::string>> unified;
};
}
}
}
}

// clang-format on
