// This file is generated by tools/codegen.sh
// 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
//
//     Cdi.hpp data = nlohmann::json::parse(jsonString);

#pragma once

#include <optional>
#include <nlohmann/json.hpp>
#include "linglong/cdi/types/helper.hpp"

#include "linglong/cdi/types/ContainerEdits.hpp"
#include "linglong/cdi/types/Device.hpp"

namespace linglong {
namespace cdi {
namespace types {
/**
* Configuration Schema for the Container Device Interface
*/

using nlohmann::json;

/**
* Configuration Schema for the Container Device Interface
*/
struct Cdi {
std::optional<std::map<std::string, std::string>> annotations;
/**
* The version of the Container Device Interface Specification that the document complies
* with
*/
std::string cdiVersion;
std::optional<ContainerEdits> containerEdits;
std::vector<Device> devices;
/**
* The kind of the device usually of the form 'vendor.com/device'
*/
std::string kind;
};
}
}
}

// clang-format on
