// 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
//
//     LlCLIConfig.hpp data = nlohmann::json::parse(jsonString);

#pragma once

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

#include "linglong/api/types/v1/LlCLICommandConfig.hpp"
#include "linglong/api/types/v1/LlCLIFilesystemEntry.hpp"

namespace linglong {
namespace api {
namespace types {
namespace v1 {
/**
* default ll-cli configuration delivered with package
*
* default ll-cli configuration provided by package
*/

using nlohmann::json;

/**
* default ll-cli configuration delivered with package
*
* default ll-cli configuration provided by package
*/
struct LlCLIConfig {
/**
* command specific overrides
*/
std::optional<std::map<std::string, LlCLICommandConfig>> commands;
/**
* default environment variables
*/
std::optional<std::map<std::string, std::string>> env;
/**
* default extensions applied when launching app
*/
std::optional<std::vector<std::string>> extensions;
/**
* additional filesystem mounts appended to defaults
*/
std::optional<std::vector<LlCLIFilesystemEntry>> filesystem;
/**
* explicit mount allowlist; when present only these mounts are permitted
*/
std::optional<std::vector<LlCLIFilesystemEntry>> filesystemAllowOnly;
};
}
}
}
}

// clang-format on
