use super::BindingValue;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
#[cfg_attr(feature = "jsonschema", derive(schemars::JsonSchema))]
#[serde(rename_all = "camelCase")]
pub struct ContainerAppsEnvironmentBinding {
pub environment_name: BindingValue<String>,
pub resource_id: BindingValue<String>,
pub resource_group_name: BindingValue<String>,
pub default_domain: BindingValue<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub static_ip: Option<BindingValue<String>>,
}
impl ContainerAppsEnvironmentBinding {
pub fn new(
environment_name: impl Into<BindingValue<String>>,
resource_id: impl Into<BindingValue<String>>,
resource_group_name: impl Into<BindingValue<String>>,
default_domain: impl Into<BindingValue<String>>,
) -> Self {
Self {
environment_name: environment_name.into(),
resource_id: resource_id.into(),
resource_group_name: resource_group_name.into(),
default_domain: default_domain.into(),
static_ip: None,
}
}
pub fn with_static_ip(mut self, static_ip: impl Into<BindingValue<String>>) -> Self {
self.static_ip = Some(static_ip.into());
self
}
}