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 {
|
pub enum FileState {
|
||||||
Managed,
|
Managed {
|
||||||
Present,
|
source: Option<String>,
|
||||||
Absent,
|
user: Option<String>,
|
||||||
BlockReplace,
|
group: Option<String>,
|
||||||
Symlinked
|
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::file::FileState;
|
||||||
use crate::sls::state::service::ServiceState;
|
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 file;
|
||||||
pub mod service;
|
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),
|
File (FileState),
|
||||||
Service (ServiceState),
|
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 {
|
pub enum ServiceState {
|
||||||
Running,
|
Running {
|
||||||
Stopped,
|
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