pub(crate) trait Integration: Send + Sync {
// Required methods
fn rotate<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn verify<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn terminate_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Trait implemented by each target-system driver, such as Entra or CustomScript.
Required Methods§
Sourcefn rotate<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn rotate<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Rotate the credential to ctx.new_password.
Sourcefn verify<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn verify<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Verify that the rotation applied in the target system.
Sourcefn terminate_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn terminate_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 RotateContext,
) -> Pin<Box<dyn Future<Output = Result<(), IntegrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Terminate active sessions for ctx.account_identity when the claim’s terminate_sessions
flag is set. A failure here never fails the rotation.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".