Skip to main content

alien_core/
load_balancer.rs

1//! Load balancer endpoint types for DNS management.
2
3use serde::{Deserialize, Serialize};
4
5/// Load balancer endpoint information for DNS management.
6/// This is optional metadata used by the DNS controller to create domain mappings.
7#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
9#[serde(rename_all = "camelCase")]
10pub struct LoadBalancerEndpoint {
11    /// The DNS name of the load balancer endpoint (e.g., ALB DNS, API Gateway domain).
12    pub dns_name: String,
13    /// AWS Route53 hosted zone ID (for ALIAS records). Only set on AWS.
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub hosted_zone_id: Option<String>,
16}