openstack_keystone_core/assignment/
error.rs1use thiserror::Error;
16
17use crate::identity::error::IdentityProviderError;
18use crate::resource::error::ResourceProviderError;
19use crate::revoke::error::RevokeProviderError;
20
21#[derive(Error, Debug)]
23pub enum AssignmentProviderError {
24 #[error("assignment not found: {0}")]
26 AssignmentNotFound(String),
27
28 #[error("conflict: {0}")]
30 Conflict(String),
31
32 #[error("backend driver error: {0}")]
34 Driver(String),
35
36 #[error(transparent)]
38 IdentityProvider {
39 #[from]
40 source: IdentityProviderError,
41 },
42
43 #[error("{0}")]
45 InvalidAssignmentType(String),
46
47 #[error(transparent)]
49 ResourceProvider {
50 #[from]
51 source: ResourceProviderError,
52 },
53
54 #[error(transparent)]
56 RevokeProvider {
57 #[from]
58 source: RevokeProviderError,
59 },
60
61 #[error("role {0} not found")]
63 RoleNotFound(String),
64
65 #[error(transparent)]
67 RoleProvider {
68 #[from]
69 source: crate::role::error::RoleProviderError,
70 },
71
72 #[error(transparent)]
74 Serde {
75 #[from]
76 source: serde_json::Error,
77 },
78
79 #[error(transparent)]
81 StructBuilder {
82 #[from]
84 source: crate::error::BuilderError,
85 },
86
87 #[error("unsupported driver `{0}` for the assignment provider")]
89 UnsupportedDriver(String),
90
91 #[error("request validation error: {}", source)]
93 Validation {
94 #[from]
96 source: validator::ValidationErrors,
97 },
98}