A library for writing host-specific, single-binary configuration management and deployment tools
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
568 B

use std::error::Error;
use std::fmt::Display;
use resources::Resource;
pub trait Symbol: Display {
fn target_reached(&self) -> Result<bool, Box<Error>>;
fn execute(&self) -> Result<(), Box<Error>>;
fn get_prerequisites(&self) -> Vec<Resource> {
vec![]
}
fn provides(&self) -> Option<Vec<Resource>> {
None
}
}
pub mod acme;
pub mod dir;
pub mod file;
pub mod git;
pub mod hook;
pub mod if_already_present;
pub mod list;
pub mod mariadb;
pub mod nginx;
pub mod not_a_symlink;
pub mod npm;
pub mod owner;
pub mod systemd;
pub mod tls;
pub mod user;