Multi Region Support - Loader
Related tasks
Context
Cloudsim is made up of platforms that interact with external services. Each platform itself is composed of several components that require configuration data to initialize. Until now, the only way to configure these components has been to setup environment variables, which has suited our purposes because we only had a single platform.
The introduction of multiple platforms (for multi-region support) requires Cloudsim to parse multiple configuration files when setting up each platform. Because environment variables only allow for a single level of configuration (without getting overly creative), a move to YAML configuration formats has been chosen.
Change
This MR introduces the Load
and LoadDirFiles
functions. These functions allow loading a file or set of files into Go structs by using loaders.