26 #ifndef SERVER_ZONE_PROVISION_HPP
27 #define SERVER_ZONE_PROVISION_HPP
54 const std::string& configPath,
55 const std::string& dbPath,
56 const std::string& dbPrefix,
57 const std::vector<std::string>& validLinkPrefixes);
68 const std::string& path,
75 const std::string& target,
76 const std::string& type,
78 const std::string&
data);
83 const std::string& target);
85 void start() noexcept;
91 std::vector<std::string>
list()
const;
98 void remove(
const std::string& item);
124 #endif // SERVER_ZONE_PROVISION_HPP
ZoneProvision & operator=(const ZoneProvision &)=delete
std::vector< std::string > mValidLinkPrefixes
Definition: zone-provision.hpp:105
Declaration of the class for storing zone provisioning configuration.
Definition: zone-provision-config.hpp:74
ZoneProvisioningConfig mProvisioningConfig
Definition: zone-provision.hpp:101
std::string mRootPath
Definition: zone-provision.hpp:102
std::vector< std::string > list() const
List all provisioned resources.
Definition: zone-provision.cpp:158
Definition: zone-provision-config.hpp:40
static std::string getId(const ZoneProvisioningConfig::File &file)
Definition: zone-provision.cpp:261
Definition: zone-provision-config.hpp:86
Definition: zone-provision-config.hpp:37
std::string declareLink(const std::string &source, const std::string &target)
Declare link that will be created while zone startup.
Definition: zone-provision.cpp:114
std::string declareMount(const std::string &source, const std::string &target, const std::string &type, const int64_t &flags, const std::string &data)
Declare mount that will be created while zone startup.
Definition: zone-provision.cpp:102
Definition: zone-provision-config.hpp:56
void start() noexcept
Definition: zone-provision.cpp:123
std::string mDbPath
Definition: zone-provision.hpp:103
ZoneProvision(const std::string &rootPath, const std::string &configPath, const std::string &dbPath, const std::string &dbPrefix, const std::vector< std::string > &validLinkPrefixes)
ZoneProvision constructor.
Definition: zone-provision.cpp:50
void saveProvisioningConfig()
Definition: zone-provision.cpp:68
char data[368]
Definition: initctl.cpp:41
void umount(const ZoneProvisioningConfig::Mount &config)
Definition: zone-provision.cpp:231
void file(const ZoneProvisioningConfig::File &config)
Definition: zone-provision.cpp:183
void link(const ZoneProvisioningConfig::Link &config)
Definition: zone-provision.cpp:240
Class is responsible for prepare filesystem for zone It allows to create directories, files, mount points and copying files from host.
Definition: zone-provision.hpp:42
std::list< ZoneProvisioningConfig::Provision > mProvisioned
Definition: zone-provision.hpp:106
void stop() noexcept
Definition: zone-provision.cpp:142
std::string declareProvision(ZoneProvisioningConfig::Provision &&provision)
Definition: zone-provision.cpp:73
~ZoneProvision()
Definition: zone-provision.cpp:63
void mount(const ZoneProvisioningConfig::Mount &config)
Definition: zone-provision.cpp:218
std::string declareFile(const int32_t &type, const std::string &path, const int32_t &flags, const int32_t &mode)
Declare file, directory or pipe that will be created while zone startup.
Definition: zone-provision.cpp:91
std::string mDbPrefix
Definition: zone-provision.hpp:104