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
71
72
/*
* Hanzo Cloud API
*
* The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
*
* The version of the OpenAPI document: v1
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SlotView {
/// BLSPubkey is the node's BLS public key, hex.
#[serde(rename = "blsPubkey", skip_serializing_if = "Option::is_none")]
pub bls_pubkey: Option<String>,
/// CRName is the LuxNetwork custom resource that materializes the node.
#[serde(rename = "crName", skip_serializing_if = "Option::is_none")]
pub cr_name: Option<String>,
/// CreatedAt is when the slot was first claimed, as a Unix timestamp.
#[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
pub created_at: Option<i32>,
/// Namespace is the Kubernetes namespace the node's CR lives in.
#[serde(rename = "namespace", skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
/// Network is the luxd network slug the node joins.
#[serde(rename = "network", skip_serializing_if = "Option::is_none")]
pub network: Option<String>,
/// NodeID is the luxd node id derived from the sealed staking identity. It is stable across re-claims of the same slot.
#[serde(rename = "nodeID", skip_serializing_if = "Option::is_none")]
pub node_id: Option<String>,
/// NodeStatus is the provisioning state of the node: \"node_created\" once the CR is applied, \"node_pending\" when no cluster is reachable (the slot is still claimed and the keys are still sealed).
#[serde(rename = "nodeStatus", skip_serializing_if = "Option::is_none")]
pub node_status: Option<String>,
/// Registration is the queued owner-gated registration, absent until one exists.
#[serde(rename = "registration", skip_serializing_if = "Option::is_none")]
pub registration: Option<Box<models::RegistrationView>>,
/// Slot is the validator slot number — the same value as tokenId, under the name the portal reads.
#[serde(rename = "slot", skip_serializing_if = "Option::is_none")]
pub slot: Option<i32>,
/// TokenID is the GenesisNFT token id that IS this slot.
#[serde(rename = "tokenId", skip_serializing_if = "Option::is_none")]
pub token_id: Option<i32>,
/// UpdatedAt is when the slot last changed, as a Unix timestamp.
#[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<i32>,
/// Wallet is the lowercase Ethereum address that proved ownership of the NFT.
#[serde(rename = "wallet", skip_serializing_if = "Option::is_none")]
pub wallet: Option<String>,
}
impl SlotView {
pub fn new() -> SlotView {
SlotView {
bls_pubkey: None,
cr_name: None,
created_at: None,
namespace: None,
network: None,
node_id: None,
node_status: None,
registration: None,
slot: None,
token_id: None,
updated_at: None,
wallet: None,
}
}
}