added some state types
This commit is contained in:
parent
36617fc05f
commit
47eebc7be3
10
src/sls/state/command.rs
Normal file
10
src/sls/state/command.rs
Normal file
@ -0,0 +1,10 @@
|
||||
pub enum CommandState {
|
||||
Run {
|
||||
name: String,
|
||||
cwd: Option<String>,
|
||||
shell: Option<String>,
|
||||
create: Option<String>,
|
||||
unless: Option<String>,
|
||||
onlyif: Option<String>,
|
||||
},
|
||||
}
|
||||
@ -1,8 +1,31 @@
|
||||
|
||||
pub enum FileState {
|
||||
Managed,
|
||||
Present,
|
||||
Absent,
|
||||
BlockReplace,
|
||||
Symlinked
|
||||
Managed {
|
||||
source: Option<String>,
|
||||
user: Option<String>,
|
||||
group: Option<String>,
|
||||
mode: Option<String>,
|
||||
contents: Option<String>,
|
||||
template: Option<String>,
|
||||
clean: Option<bool>,
|
||||
clean_mode: Option<String>,
|
||||
},
|
||||
Directory {
|
||||
user: Option<String>,
|
||||
group: Option<String>,
|
||||
mode: Option<String>,
|
||||
clean: Option<bool>,
|
||||
clean_mode: Option<String>,
|
||||
},
|
||||
File {
|
||||
source: Option<String>,
|
||||
user: Option<String>,
|
||||
group: Option<String>,
|
||||
mode: Option<String>,
|
||||
contents: Option<String>,
|
||||
template: Option<String>,
|
||||
},
|
||||
Symlink {
|
||||
target: String,
|
||||
},
|
||||
}
|
||||
9
src/sls/state/group.rs
Normal file
9
src/sls/state/group.rs
Normal file
@ -0,0 +1,9 @@
|
||||
pub enum GroupState {
|
||||
Present {
|
||||
name: String,
|
||||
gid: Option<String>,
|
||||
},
|
||||
Absent {
|
||||
name: String,
|
||||
},
|
||||
}
|
||||
@ -1,10 +1,31 @@
|
||||
use crate::sls::state::file::FileState;
|
||||
use crate::sls::state::service::ServiceState;
|
||||
use crate::sls::state::package::PackageState;
|
||||
use crate::sls::state::command::CommandState;
|
||||
use crate::sls::state::user::UserState;
|
||||
use crate::sls::state::group::GroupState;
|
||||
|
||||
pub mod file;
|
||||
pub mod service;
|
||||
pub mod package;
|
||||
pub mod command;
|
||||
pub mod user;
|
||||
pub mod group;
|
||||
|
||||
pub enum State {
|
||||
pub struct State {
|
||||
pub function: StateFunction,
|
||||
pub dependency: Vec<StateDependency>,
|
||||
}
|
||||
|
||||
pub enum StateFunction {
|
||||
File (FileState),
|
||||
Service (ServiceState),
|
||||
Package (PackageState),
|
||||
Command (CommandState),
|
||||
User (UserState),
|
||||
Group (GroupState),
|
||||
}
|
||||
|
||||
pub enum StateDependency {
|
||||
|
||||
}
|
||||
11
src/sls/state/package.rs
Normal file
11
src/sls/state/package.rs
Normal file
@ -0,0 +1,11 @@
|
||||
pub enum PackageState {
|
||||
Installed {
|
||||
name: String,
|
||||
},
|
||||
Latest {
|
||||
name: String,
|
||||
},
|
||||
Removed {
|
||||
name: String,
|
||||
},
|
||||
}
|
||||
@ -1,6 +1,10 @@
|
||||
|
||||
|
||||
pub enum ServiceState {
|
||||
Running,
|
||||
Stopped,
|
||||
Running {
|
||||
enable: Option<bool>,
|
||||
},
|
||||
Stopped {
|
||||
enable: Option<bool>,
|
||||
},
|
||||
}
|
||||
13
src/sls/state/user.rs
Normal file
13
src/sls/state/user.rs
Normal file
@ -0,0 +1,13 @@
|
||||
pub enum UserState {
|
||||
Present {
|
||||
name: String,
|
||||
uid: Option<String>,
|
||||
gid: Option<String>,
|
||||
shell: Option<String>,
|
||||
home: Option<String>,
|
||||
groups: Option<Vec<String>>,
|
||||
},
|
||||
Absent {
|
||||
name: String,
|
||||
},
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user