signstar_yubihsm2/automation/
scenario.rs

1//! Provisioning scenarios.
2
3use serde::Deserialize;
4
5use crate::automation::{Auth, Command};
6
7/// Describes a series of commands to be executed against a YubiHSM2.
8///
9/// The `auth` parameter indicates initial authentication data.
10/// The set of commands to be executed is processed in a sequential manner.
11/// The additional [Auth] command may be used to re-authenticate as another user while executing the
12/// scenario.
13#[derive(Debug, Deserialize)]
14#[serde(rename_all = "PascalCase")]
15pub struct Scenario {
16    /// Initial authentication data required to establish the connection to a YubiHSM2.
17    pub auth: Auth,
18
19    /// Commands to be executed.
20    pub steps: Vec<Command>,
21}