// 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
//
//     Process.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/Capabilities.hpp"
#include "ocppi/runtime/config/types/ConsoleSize.hpp"
#include "ocppi/runtime/config/types/IoPriority.hpp"
#include "ocppi/runtime/config/types/Rlimit.hpp"
#include "ocppi/runtime/config/types/Scheduler.hpp"
#include "ocppi/runtime/config/types/User.hpp"

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

struct Process {
std::optional<std::string> apparmorProfile;
std::optional<std::vector<std::string>> args;
std::optional<Capabilities> capabilities;
std::optional<std::string> commandLine;
std::optional<ConsoleSize> consoleSize;
std::string cwd;
std::optional<std::vector<std::string>> env;
std::optional<IoPriority> ioPriority;
std::optional<bool> noNewPrivileges;
std::optional<int64_t> oomScoreAdj;
std::optional<std::vector<Rlimit>> rlimits;
std::optional<Scheduler> scheduler;
std::optional<std::string> selinuxLabel;
std::optional<bool> terminal;
std::optional<User> user;
};
}
}
}
}

// clang-format on
