redfish_codegen/models/privileges/
privilege_type.rs

1// Generated by redfish-codegen. Do not modify.
2
3
4#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
5pub enum PrivilegeType {
6    /// Can log in to the service and read resources.
7    Login,
8    /// Can configure managers.
9    ConfigureManager,
10    /// Can configure users and their accounts.
11    ConfigureUsers,
12    /// Can change the password for the current user account, log out of their own sessions, and perform operations on resources they created.  Services will need to be aware of resource ownership to map this privilege to an operation from a particular user.
13    ConfigureSelf,
14    /// Can configure components that this service manages.
15    ConfigureComponents,
16    /// This value shall be used to indicate an operation does not require authentication.  This privilege shall not be used in Redfish roles. Added in version 2019.3.
17    NoAuth,
18    /// This value shall be used to indicate the user can view and configure composition service resources without matching the Client property in the ResourceBlock or CompositionReservation resources. Added in version 2021.1.
19    ConfigureCompositionInfrastructure,
20    /// Administrator for systems found in the systems collection.  Able to manage boot configuration, keys, and certificates for systems. Added in version 2022.2.
21    AdministrateSystems,
22    /// Operator for systems found in the systems collection.  Able to perform resets and configure interfaces. Added in version 2022.2.
23    OperateSystems,
24    /// Administrator for storage subsystems and storage systems found in the storage collection and storage system collection respectively. Added in version 2022.2.
25    AdministrateStorage,
26    /// Operator for storage backup functionality for storage subsystems and storage systems found in the storage collection and storage system collection respectively. Added in version 2022.2.
27    OperateStorageBackup,
28}
29
30#[allow(clippy::derivable_impls)]
31impl Default for PrivilegeType {
32     fn default() -> PrivilegeType {
33        PrivilegeType::Login
34     }
35}
36
37impl crate::Metadata<'static> for PrivilegeType {
38    const JSON_SCHEMA: &'static str = "Privileges.json";
39}