pub trait PamAccessConnectorRotationAttemptsApi: Send + Sync {
// Required methods
fn failure<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
report_rotation_failed_request_model: ReportRotationFailedRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait;
fn get_cipher<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<CipherMiniResponseModel, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait;
fn put_cipher<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
cipher_request_model: CipherRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait;
fn success<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
report_rotation_succeeded_request_model: ReportRotationSucceededRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait;
}Required Methods§
Sourcefn failure<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
report_rotation_failed_request_model: ReportRotationFailedRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn failure<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
report_rotation_failed_request_model: ReportRotationFailedRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
POST /access-connectors/rotation/attempts/{id}/failure Reports a failed rotation attempt (spec RecordRotationFailed). Never forward raw target-system error output as ErrorCode/Detail – it can echo credentials. Send a bounded error code plus an optional short detail instead. Either field exceeding its documented length is rejected as a 400, so cap them before sending – a rejected report leaves the failure unrecorded until the job times out. The single reason the two combine into is truncated rather than rejected.
Sourcefn get_cipher<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<CipherMiniResponseModel, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn get_cipher<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<CipherMiniResponseModel, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
GET /access-connectors/rotation/attempts/{id}/cipher Returns the cipher of this access connector’s claimed, executing attempt, with its full encrypted data.
Sourcefn put_cipher<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
cipher_request_model: CipherRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn put_cipher<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
cipher_request_model: CipherRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
PUT /access-connectors/rotation/attempts/{id}/cipher Writes the rotated cipher (spec AcceptCipherUpdate): a Login cipher request without Data, with the item key unchanged and LastKnownRevisionDate from the read. 409: the claim or attempt no longer holds, or the revision moved (audited as write_rejected). 404: unknown attempt.
Sourcefn success<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
report_rotation_succeeded_request_model: ReportRotationSucceededRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn success<'a, 'life0, 'async_trait>(
&'life0 self,
id: Uuid,
report_rotation_succeeded_request_model: ReportRotationSucceededRequestModel,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
POST /access-connectors/rotation/attempts/{id}/success Reports a successful rotation (spec RecordRotationSucceeded). Requires the attempt to already have a written cipher (the VerifiedBeforeSuccess backstop); otherwise the report is treated as stale (409, audited as report_rejected).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".