use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AddressSpace {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub address_prefixes: Vec<String>,
}
impl AddressSpace {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
address_prefixes: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DhcpOptions {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub dns_servers: Vec<String>,
}
impl DhcpOptions {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
dns_servers: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SubnetPropertiesFormat {
#[serde(skip_serializing_if = "Option::is_none")]
pub address_prefix: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub address_prefixes: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub private_endpoint_network_policies: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub private_link_service_network_policies: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network_security_group: Option<SubResource>,
}
impl SubnetPropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
address_prefix: Some("test-address_prefix".into()),
address_prefixes: vec![],
provisioning_state: Some("test-provisioning_state".into()),
private_endpoint_network_policies: Some(
"test-private_endpoint_network_policies".into(),
),
private_link_service_network_policies: Some(
"test-private_link_service_network_policies".into(),
),
network_security_group: Some(SubResource::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Subnet {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<SubnetPropertiesFormat>,
}
impl Subnet {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-subnet".into()),
r#type: Some("test-type".into()),
etag: Some("test-etag".into()),
properties: Some(SubnetPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SubResource {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
}
impl SubResource {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualNetworkPropertiesFormat {
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub address_space: Option<AddressSpace>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dhcp_options: Option<DhcpOptions>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub subnets: Vec<Subnet>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub virtual_network_peerings: Vec<VirtualNetworkPeering>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_ddos_protection: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_vm_protection: Option<bool>,
}
impl VirtualNetworkPropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
provisioning_state: Some("test-provisioning_state".into()),
address_space: Some(AddressSpace::fixture()),
dhcp_options: Some(DhcpOptions::fixture()),
subnets: vec![],
virtual_network_peerings: vec![],
enable_ddos_protection: Some(false),
enable_vm_protection: Some(false),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualNetworkPeering {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualNetworkPeeringPropertiesFormat>,
}
impl VirtualNetworkPeering {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-virtual_network_peering".into()),
properties: Some(VirtualNetworkPeeringPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualNetworkPeeringPropertiesFormat {
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_virtual_network_access: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_forwarded_traffic: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub peering_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub remote_virtual_network: Option<SubResource>,
}
impl VirtualNetworkPeeringPropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
allow_virtual_network_access: Some(false),
allow_forwarded_traffic: Some(false),
peering_state: Some("test-peering_state".into()),
provisioning_state: Some("test-provisioning_state".into()),
remote_virtual_network: Some(SubResource::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualNetwork {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualNetworkPropertiesFormat>,
}
impl VirtualNetwork {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-virtual_network".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
etag: Some("test-etag".into()),
properties: Some(VirtualNetworkPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualNetworkListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<VirtualNetwork>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl VirtualNetworkListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
value: vec![],
next_link: Some("test-next_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VirtualNetworkCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<VirtualNetworkPropertiesFormat>,
}
impl VirtualNetworkCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
properties: Some(VirtualNetworkPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SubnetListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<Subnet>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl SubnetListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
value: vec![],
next_link: Some("test-next_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SecurityRulePropertiesFormat {
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_port_range: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub destination_port_range: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub source_address_prefix: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub destination_address_prefix: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub source_port_ranges: Vec<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub destination_port_ranges: Vec<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub source_address_prefixes: Vec<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub destination_address_prefixes: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub access: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub priority: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub direction: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
}
impl SecurityRulePropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
description: Some("test-description".into()),
protocol: Some("test-protocol".into()),
source_port_range: Some("test-source_port_range".into()),
destination_port_range: Some("test-destination_port_range".into()),
source_address_prefix: Some("test-source_address_prefix".into()),
destination_address_prefix: Some("test-destination_address_prefix".into()),
source_port_ranges: vec![],
destination_port_ranges: vec![],
source_address_prefixes: vec![],
destination_address_prefixes: vec![],
access: Some("test-access".into()),
priority: Some(100),
direction: Some("test-direction".into()),
provisioning_state: Some("test-provisioning_state".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SecurityRule {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<SecurityRulePropertiesFormat>,
}
impl SecurityRule {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-security_rule".into()),
r#type: Some("test-type".into()),
etag: Some("test-etag".into()),
properties: Some(SecurityRulePropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SecurityRuleListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<SecurityRule>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl SecurityRuleListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
value: vec![],
next_link: Some("test-next_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NetworkSecurityGroupPropertiesFormat {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub security_rules: Vec<SecurityRule>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub default_security_rules: Vec<SecurityRule>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub network_interfaces: Vec<SubResource>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub subnets: Vec<SubResource>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_guid: Option<String>,
}
impl NetworkSecurityGroupPropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
security_rules: vec![],
default_security_rules: vec![],
network_interfaces: vec![],
subnets: vec![],
provisioning_state: Some("test-provisioning_state".into()),
resource_guid: Some("test-resource_guid".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NetworkSecurityGroup {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<NetworkSecurityGroupPropertiesFormat>,
}
impl NetworkSecurityGroup {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-network_security_group".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
etag: Some("test-etag".into()),
properties: Some(NetworkSecurityGroupPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NetworkSecurityGroupListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<NetworkSecurityGroup>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl NetworkSecurityGroupListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
value: vec![],
next_link: Some("test-next_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NetworkSecurityGroupCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<NetworkSecurityGroupPropertiesFormat>,
}
impl NetworkSecurityGroupCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
properties: Some(NetworkSecurityGroupPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FrontendIPConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<FrontendIPConfigurationPropertiesFormat>,
}
impl FrontendIPConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-frontend_ip_configuration".into()),
properties: Some(FrontendIPConfigurationPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FrontendIPConfigurationPropertiesFormat {
#[serde(rename = "privateIPAddress")]
#[serde(skip_serializing_if = "Option::is_none")]
pub private_ip_address: Option<String>,
#[serde(rename = "privateIPAllocationMethod")]
#[serde(skip_serializing_if = "Option::is_none")]
pub private_ip_allocation_method: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subnet: Option<SubResource>,
#[serde(rename = "publicIPAddress")]
#[serde(skip_serializing_if = "Option::is_none")]
pub public_ip_address: Option<SubResource>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
}
impl FrontendIPConfigurationPropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
private_ip_address: Some("test-private_ip_address".into()),
private_ip_allocation_method: Some("test-private_ip_allocation_method".into()),
subnet: Some(SubResource::fixture()),
public_ip_address: Some(SubResource::fixture()),
provisioning_state: Some("test-provisioning_state".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BackendAddressPool {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<BackendAddressPoolPropertiesFormat>,
}
impl BackendAddressPool {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-backend_address_pool".into()),
properties: Some(BackendAddressPoolPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BackendAddressPoolPropertiesFormat {
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub load_balancer_backend_addresses: Vec<LoadBalancerBackendAddress>,
}
impl BackendAddressPoolPropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
provisioning_state: Some("test-provisioning_state".into()),
load_balancer_backend_addresses: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancerBackendAddress {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<LoadBalancerBackendAddressPropertiesFormat>,
}
impl LoadBalancerBackendAddress {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: Some("test-load_balancer_backend_address".into()),
properties: Some(LoadBalancerBackendAddressPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancerBackendAddressPropertiesFormat {
#[serde(skip_serializing_if = "Option::is_none")]
pub ip_address: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub virtual_network: Option<SubResource>,
}
impl LoadBalancerBackendAddressPropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
ip_address: Some("test-ip_address".into()),
virtual_network: Some(SubResource::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Probe {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<ProbePropertiesFormat>,
}
impl Probe {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-probe".into()),
properties: Some(ProbePropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ProbePropertiesFormat {
#[serde(skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interval_in_seconds: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub number_of_probes: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub request_path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
}
impl ProbePropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
protocol: Some("test-protocol".into()),
port: Some(100),
interval_in_seconds: Some(100),
number_of_probes: Some(100),
request_path: Some("test-request_path".into()),
provisioning_state: Some("test-provisioning_state".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancingRule {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<LoadBalancingRulePropertiesFormat>,
}
impl LoadBalancingRule {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-load_balancing_rule".into()),
properties: Some(LoadBalancingRulePropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancingRulePropertiesFormat {
#[serde(skip_serializing_if = "Option::is_none")]
pub protocol: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frontend_port: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backend_port: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frontend_ip_configuration: Option<SubResource>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backend_address_pool: Option<SubResource>,
#[serde(skip_serializing_if = "Option::is_none")]
pub probe: Option<SubResource>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_floating_ip: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub idle_timeout_in_minutes: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub load_distribution: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
}
impl LoadBalancingRulePropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
protocol: Some("test-protocol".into()),
frontend_port: Some(100),
backend_port: Some(100),
frontend_ip_configuration: Some(SubResource::fixture()),
backend_address_pool: Some(SubResource::fixture()),
probe: Some(SubResource::fixture()),
enable_floating_ip: Some(false),
idle_timeout_in_minutes: Some(100),
load_distribution: Some("test-load_distribution".into()),
provisioning_state: Some("test-provisioning_state".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancerSku {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tier: Option<String>,
}
impl LoadBalancerSku {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: Some("test-load_balancer_sku".into()),
tier: Some("test-tier".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancerPropertiesFormat {
#[serde(rename = "frontendIPConfigurations")]
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub frontend_ip_configurations: Vec<FrontendIPConfiguration>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub backend_address_pools: Vec<BackendAddressPool>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub probes: Vec<Probe>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub load_balancing_rules: Vec<LoadBalancingRule>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_guid: Option<String>,
}
impl LoadBalancerPropertiesFormat {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
frontend_ip_configurations: vec![],
backend_address_pools: vec![],
probes: vec![],
load_balancing_rules: vec![],
provisioning_state: Some("test-provisioning_state".into()),
resource_guid: Some("test-resource_guid".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancer {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<LoadBalancerSku>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<LoadBalancerPropertiesFormat>,
}
impl LoadBalancer {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-load_balancer".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
etag: Some("test-etag".into()),
sku: Some(LoadBalancerSku::fixture()),
properties: Some(LoadBalancerPropertiesFormat::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancerListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<LoadBalancer>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl LoadBalancerListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
value: vec![],
next_link: Some("test-next_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LoadBalancerCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sku: Option<LoadBalancerSku>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<LoadBalancerPropertiesFormat>,
}
impl LoadBalancerCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
sku: Some(LoadBalancerSku::fixture()),
properties: Some(LoadBalancerPropertiesFormat::fixture()),
}
}
}