/*
 * This is an auto-generated file.
 * Any manual changes may be overwritten without notice!
 */

use derive_builder::Builder;
use serde::{Deserialize, Serialize};

/// AllocNetworkStatus captures the status of an allocation's network during runtime.
/// Depending on the network mode, an allocation's address may need to be known to other
/// systems in Nomad such as service registration.
///
/// This struct was generated based on the Go types of the official Nomad API.
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize, Builder)]
pub struct AllocNetworkStatus {
    #[serde(rename = "InterfaceName")]
    pub interface_name: String,

    #[serde(rename = "Address")]
    pub address: String,

    #[serde(rename = "AddressIPv6")]
    pub address_i_pv_6: String,

    #[serde(rename = "DNS", skip_serializing_if = "Option::is_none")]
    pub dns: Option<super::DNSConfig>,
}
