covert_types/methods/system/
entity.rs

1use serde::{Deserialize, Serialize};
2
3use crate::entity::EntityAlias;
4
5#[derive(Debug, Deserialize, Serialize)]
6pub struct CreateEntityParams {
7    pub name: String,
8}
9
10#[derive(Debug, Deserialize, Serialize)]
11pub struct CreateEntityResponse {
12    pub entity: EntityWithPolicyAndAlias,
13}
14
15#[derive(Debug, Deserialize, Serialize)]
16pub struct AttachEntityPolicyParams {
17    pub name: String,
18    pub policy_names: Vec<String>,
19}
20
21#[derive(Debug, Deserialize, Serialize)]
22pub struct AttachEntityPolicyResponse {
23    pub entity: EntityWithPolicyAndAlias,
24}
25
26#[derive(Debug, Deserialize, Serialize)]
27pub struct AttachEntityAliasParams {
28    pub name: String,
29    pub aliases: Vec<EntityAlias>,
30}
31
32#[derive(Debug, Deserialize, Serialize)]
33pub struct AttachEntityAliasResponse {
34    pub entity: EntityWithPolicyAndAlias,
35}
36
37#[derive(Debug, Deserialize, Serialize)]
38pub struct RemoveEntityPolicyParams {
39    pub policy_name: String,
40}
41
42#[derive(Debug, Deserialize, Serialize)]
43pub struct RemoveEntityPolicyResponse {
44    pub entity: EntityWithPolicyAndAlias,
45}
46
47#[derive(Debug, Deserialize, Serialize)]
48pub struct RemoveEntityAliasParams {
49    pub alias: EntityAlias,
50}
51
52#[derive(Debug, Deserialize, Serialize)]
53pub struct RemoveEntityAliasResponse {
54    pub entity: EntityWithPolicyAndAlias,
55}
56
57#[derive(Debug, Deserialize, Serialize)]
58pub struct ListEntitiesResponse {
59    pub entities: Vec<EntityWithPolicyAndAlias>,
60}
61
62#[derive(Debug, Deserialize, Serialize, PartialEq, Eq)]
63pub struct EntityWithPolicyAndAlias {
64    pub name: String,
65    pub policies: Vec<String>,
66    pub aliases: Vec<EntityAlias>,
67}