alien_core/bindings/
container_apps_environment.rs1use super::BindingValue;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
12#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
13#[cfg_attr(feature = "jsonschema", derive(schemars::JsonSchema))]
14#[serde(rename_all = "camelCase")]
15pub struct ContainerAppsEnvironmentBinding {
16 pub environment_name: BindingValue<String>,
18 pub resource_id: BindingValue<String>,
20 pub resource_group_name: BindingValue<String>,
23 pub default_domain: BindingValue<String>,
25 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub static_ip: Option<BindingValue<String>>,
28}
29
30impl ContainerAppsEnvironmentBinding {
31 pub fn new(
33 environment_name: impl Into<BindingValue<String>>,
34 resource_id: impl Into<BindingValue<String>>,
35 resource_group_name: impl Into<BindingValue<String>>,
36 default_domain: impl Into<BindingValue<String>>,
37 ) -> Self {
38 Self {
39 environment_name: environment_name.into(),
40 resource_id: resource_id.into(),
41 resource_group_name: resource_group_name.into(),
42 default_domain: default_domain.into(),
43 static_ip: None,
44 }
45 }
46
47 pub fn with_static_ip(mut self, static_ip: impl Into<BindingValue<String>>) -> Self {
49 self.static_ip = Some(static_ip.into());
50 self
51 }
52}