fn get_secret_value()

in aws_secretsmanager_caching/src/secret_store/memory_store/mod.rs [60:77]


    fn get_secret_value(
        &self,
        secret_id: &str,
        version_id: Option<&str>,
        version_stage: Option<&str>,
    ) -> Result<GetSecretValueOutputDef, SecretStoreError> {
        match self.gsv_cache.get(&Key {
            secret_id: secret_id.to_string(),
            version_id: version_id.map(String::from),
            version_stage: version_stage.map(String::from),
        }) {
            Some(gsv) if gsv.last_updated_at.elapsed() > self.ttl => {
                Err(SecretStoreError::CacheExpired(Box::new(gsv.value.clone())))
            }
            Some(gsv) => Ok(gsv.clone().value),
            None => Err(SecretStoreError::ResourceNotFound),
        }
    }