the engine can be launch using a json file given in parameter
(
logger: Box<dyn Logger>,
deploy_from_file: String,
workspace_root_dir: String,
lib_root_dir: String,
aws_apn_id: String,
test_cluster: bool,
deployment_type: TaskSelector
| 208 | |
| 209 | // the engine can be launch using a json file given in parameter |
| 210 | pub fn using_json_path_parameter( |
| 211 | logger: Box<dyn Logger>, |
| 212 | deploy_from_file: String, |
| 213 | workspace_root_dir: String, |
| 214 | lib_root_dir: String, |
| 215 | aws_apn_id: String, |
| 216 | test_cluster: bool, |
| 217 | deployment_type: TaskSelector, |
| 218 | docker: Arc<Docker>, |
| 219 | deployed_engine_version: DeployedEngineVersion, |
| 220 | metrics_registry: Box<dyn MetricsRegistry>, |
| 221 | ) -> Result<(), Error> { |
| 222 | // check if file json config file exist |
| 223 | if !Path::new(&deploy_from_file).exists() { |
| 224 | error!("{} : No such file or directory", deploy_from_file); |
| 225 | process::exit(1); |
| 226 | } |
| 227 | info!("Using {} configuration file", deploy_from_file); |
| 228 | |
| 229 | let file = BufReader::new(File::open(deploy_from_file)?); |
| 230 | |
| 231 | let task: Box<dyn Task> = match deployment_type { |
| 232 | TaskSelector::Blueprint => { |
| 233 | let mut deserialized_request = serde_json::Deserializer::from_reader(file); |
| 234 | let mut request: BlueprintEngineRequest = serde_path_to_error::deserialize(&mut deserialized_request) |
| 235 | .map_err(|err| { |
| 236 | error!("Impossible to parse json file: {}", err); |
| 237 | process::exit(1); |
| 238 | }) |
| 239 | .unwrap(); |
| 240 | request.test_cluster = test_cluster; |
| 241 | Box::new(BlueprintTask::new( |
| 242 | request, |
| 243 | workspace_root_dir, |
| 244 | lib_root_dir, |
| 245 | aws_apn_id, |
| 246 | deployed_engine_version.clone(), |
| 247 | docker, |
| 248 | logger, |
| 249 | metrics_registry, |
| 250 | Box::new(FakeQoveryApi {}), |
| 251 | None, |
| 252 | )) |
| 253 | } |
| 254 | TaskSelector::Environment => { |
| 255 | let mut deserialized_req = serde_json::Deserializer::from_reader(file); |
| 256 | let mut request: EnvironmentEngineRequest = serde_path_to_error::deserialize(&mut deserialized_req) |
| 257 | .map_err(|err| { |
| 258 | error!("Impossible to parse json file: {}", err); |
| 259 | process::exit(1); |
| 260 | }) |
| 261 | .unwrap(); |
| 262 | |
| 263 | request.test_cluster = test_cluster; |
| 264 | Box::new(EnvironmentTask::new( |
| 265 | request, |
| 266 | workspace_root_dir, |
| 267 | deployed_engine_version.clone(), |
no test coverage detected