Skip to main content

PamAccessConnectorRotationAttemptsApi

Trait PamAccessConnectorRotationAttemptsApi 

Source
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§

Source

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.

Source

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.

Source

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.

Source

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".

Implementors§