1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// Fireblocks API
//
// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
//
// The version of the OpenAPI document: 1.8.0
// Contact: developers@fireblocks.com
// Generated by: https://openapi-generator.tech
use {
crate::models,
serde::{Deserialize, Serialize},
};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateVaultAccountRequest {
/// Vault Account name
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Optional - if true, the created account and all related transactions
/// will not be shown on Fireblocks console
#[serde(rename = "hiddenOnUI", skip_serializing_if = "Option::is_none")]
pub hidden_on_ui: Option<bool>,
/// Optional - Sets a customer reference ID for AML integrations
#[serde(rename = "customerRefId", skip_serializing_if = "Option::is_none")]
pub customer_ref_id: Option<String>,
/// Optional - Sets the autoFuel property of the vault account for the
/// Fireblocks Gas Station
#[serde(rename = "autoFuel", skip_serializing_if = "Option::is_none")]
pub auto_fuel: Option<bool>,
/// Type of vault account. The default type will be set to MPC.<br/> If the
/// workspace does not support the selected type, it will return an error.
#[serde(rename = "vaultType", skip_serializing_if = "Option::is_none")]
pub vault_type: Option<VaultType>,
/// Applicable only when the vault account type is KEY_LINK. For MPC, this
/// parameter will be ignored.<br/> If set to true and there are available
/// keys, random keys will be assigned to the newly created vault
/// account.<br/> If set to true and there are no available keys to be
/// assigned, it will return an error.<br/> If set to false, the vault
/// account will be created without any keys.
#[serde(rename = "autoAssign", skip_serializing_if = "Option::is_none")]
pub auto_assign: Option<bool>,
}
impl CreateVaultAccountRequest {
pub fn new() -> CreateVaultAccountRequest {
CreateVaultAccountRequest {
name: None,
hidden_on_ui: None,
customer_ref_id: None,
auto_fuel: None,
vault_type: None,
auto_assign: None,
}
}
}
/// Type of vault account. The default type will be set to MPC.<br/> If the
/// workspace does not support the selected type, it will return an error.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum VaultType {
#[serde(rename = "MPC")]
Mpc,
#[serde(rename = "KEY_LINK")]
KeyLink,
}
impl Default for VaultType {
fn default() -> VaultType {
Self::Mpc
}
}