hanzo-client 8.5.156

Generated client for the Hanzo API — every service, one crate.
Documentation
/*
 * 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,
        }
    }
}