summaryrefslogtreecommitdiff
path: root/src/cmd/cloud_init.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/cloud_init.rs')
-rw-r--r--src/cmd/cloud_init.rs35
1 files changed, 15 insertions, 20 deletions
diff --git a/src/cmd/cloud_init.rs b/src/cmd/cloud_init.rs
index 615b2a8..a9b3588 100644
--- a/src/cmd/cloud_init.rs
+++ b/src/cmd/cloud_init.rs
@@ -12,26 +12,21 @@ pub enum CloudInitCommandError {
IoError(#[from] std::io::Error),
}
-pub fn cloud_init(spec: &Specification, dirname: &Path) -> Result<(), CloudInitCommandError> {
- info!(
- "generating cloud-init configuration into {}",
- dirname.display()
- );
-
- let init = CloudInitConfig::from(&spec)?;
-
- debug!("creating directory {}", dirname.display());
- std::fs::create_dir_all(dirname)?;
- init.create_dir(dirname)?;
-
- Ok(())
-}
-
-pub fn cloud_init_iso(spec: &Specification, iso: &Path) -> Result<(), CloudInitCommandError> {
- info!("generating cloud-init ISO into {}", iso.display());
-
- let init = CloudInitConfig::from(&spec)?;
- init.create_iso(iso)?;
+pub fn cloud_init(specs: &[Specification], dirname: &Path) -> Result<(), CloudInitCommandError> {
+ for spec in specs {
+ let dirname = dirname.join(&spec.name);
+ info!(
+ "generating cloud-init configuration for {} into {}",
+ spec.name,
+ dirname.display()
+ );
+
+ let init = CloudInitConfig::from(&spec)?;
+
+ debug!("creating directory {}", dirname.display());
+ std::fs::create_dir_all(&dirname)?;
+ init.create_dir(&dirname)?;
+ }
Ok(())
}