diff --git a/sdk/core/src/util.rs b/sdk/core/src/util.rs index 5ac66483a3..fb32cacb2b 100644 --- a/sdk/core/src/util.rs +++ b/sdk/core/src/util.rs @@ -15,3 +15,55 @@ where .or_else(|_| T::deserialize(serde_json::Value::String(v.to_lowercase()))) .map_err(de::Error::custom) } + +/// Deserialize JSON null as default +/// https://github.com/serde-rs/serde/issues/1098 +pub fn deserialize_null_as_default<'de, D, T>(deserializer: D) -> Result +where + T: Default + Deserialize<'de>, + D: Deserializer<'de>, +{ + let opt = Option::deserialize(deserializer)?; + Ok(opt.unwrap_or_default()) +} + +#[cfg(test)] +mod tests { + use super::*; + use serde::Serialize; + + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] + pub struct SiteConfig { + #[serde( + rename = "appSettings", + default, + deserialize_with = "deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] + pub app_settings: Vec, + } + + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] + pub struct NameValuePair { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + } + + #[test] + fn deserialize_empty() -> crate::Result<()> { + let bytes = br#"{}"#; + let site_config: SiteConfig = serde_json::from_slice(bytes)?; + assert_eq!(Vec::::default(), site_config.app_settings); + Ok(()) + } + + #[test] + fn deserialize_null() -> crate::Result<()> { + let bytes = br#"{ "appSettings": null }"#; + let site_config: SiteConfig = serde_json::from_slice(bytes)?; + assert_eq!(Vec::::default(), site_config.app_settings); + Ok(()) + } +} diff --git a/services/autorust/codegen/src/codegen_models.rs b/services/autorust/codegen/src/codegen_models.rs index 2b0251dc72..7514afcd74 100644 --- a/services/autorust/codegen/src/codegen_models.rs +++ b/services/autorust/codegen/src/codegen_models.rs @@ -707,7 +707,7 @@ fn create_struct(cg: &CodeGen, schema: &SchemaGen, struct_name: &str, pageable: // Must specify `default` when using `with` for `Option` serde_attrs.push(quote! { default, with = "azure_core::date::rfc1123::option"}); } else if type_name.is_vec() { - serde_attrs.push(quote! { default, skip_serializing_if = "Vec::is_empty"}); + serde_attrs.push(quote! { default, deserialize_with = "azure_core::util::deserialize_null_as_default", skip_serializing_if = "Vec::is_empty"}); } else { serde_attrs.push(quote! { default, skip_serializing_if = "Option::is_none"}); } diff --git a/services/mgmt/activedirectory/src/package_2017_04_01/models.rs b/services/mgmt/activedirectory/src/package_2017_04_01/models.rs index af2b1007e6..64a0341ce1 100644 --- a/services/mgmt/activedirectory/src/package_2017_04_01/models.rs +++ b/services/mgmt/activedirectory/src/package_2017_04_01/models.rs @@ -22,7 +22,11 @@ pub struct DiagnosticSettings { #[serde(rename = "eventHubName", default, skip_serializing_if = "Option::is_none")] pub event_hub_name: Option, #[doc = "The list of logs settings."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub logs: Vec, } impl DiagnosticSettings { @@ -98,7 +102,11 @@ impl DiagnosticSettingsCategoryResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticSettingsCategoryResourceCollection { #[doc = "The collection of diagnostic settings category resources."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl DiagnosticSettingsCategoryResourceCollection { @@ -124,7 +132,11 @@ impl DiagnosticSettingsResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticSettingsResourceCollection { #[doc = "The collection of diagnostic settings resources."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl DiagnosticSettingsResourceCollection { @@ -166,7 +178,11 @@ pub struct ErrorDefinition { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "Internal error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorDefinition { @@ -272,7 +288,11 @@ impl OperationsDiscovery { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationsDiscoveryCollection { #[doc = "The ClientDiscovery details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl OperationsDiscoveryCollection { diff --git a/services/mgmt/activedirectory/src/package_2020_03/models.rs b/services/mgmt/activedirectory/src/package_2020_03/models.rs index 664c000fd3..bd9a555ee2 100644 --- a/services/mgmt/activedirectory/src/package_2020_03/models.rs +++ b/services/mgmt/activedirectory/src/package_2020_03/models.rs @@ -49,7 +49,11 @@ pub struct ErrorDefinition { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "Internal error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorDefinition { @@ -105,7 +109,11 @@ impl PrivateEndpointConnection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateEndpointConnectionListResult { #[doc = "Array of private link resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to next page of results"] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -241,7 +249,11 @@ impl PrivateLinkResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateLinkResourceListResult { #[doc = "Array of private link resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of operations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -265,7 +277,12 @@ pub struct PrivateLinkResourceProperties { #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")] pub group_id: Option, #[doc = "The private link resource required member names."] - #[serde(rename = "requiredMembers", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "requiredMembers", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub required_members: Vec, } impl PrivateLinkResourceProperties { @@ -347,7 +364,11 @@ pub struct PrivateLinkPolicy { #[serde(rename = "allTenants", default, skip_serializing_if = "Option::is_none")] pub all_tenants: Option, #[doc = "The list of tenantIds."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub tenants: Vec, #[doc = "Name of the private link policy resource"] #[serde(rename = "resourceName", default, skip_serializing_if = "Option::is_none")] @@ -371,7 +392,11 @@ impl PrivateLinkPolicy { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateLinkPolicyListResult { #[doc = "Array of private link policies"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of operations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/activedirectory/src/package_preview_2017_04/models.rs b/services/mgmt/activedirectory/src/package_preview_2017_04/models.rs index 382ee5a0e2..0c7f374796 100644 --- a/services/mgmt/activedirectory/src/package_preview_2017_04/models.rs +++ b/services/mgmt/activedirectory/src/package_preview_2017_04/models.rs @@ -22,7 +22,11 @@ pub struct DiagnosticSettings { #[serde(rename = "eventHubName", default, skip_serializing_if = "Option::is_none")] pub event_hub_name: Option, #[doc = "The list of logs settings."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub logs: Vec, } impl DiagnosticSettings { @@ -98,7 +102,11 @@ impl DiagnosticSettingsCategoryResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticSettingsCategoryResourceCollection { #[doc = "The collection of diagnostic settings category resources."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl DiagnosticSettingsCategoryResourceCollection { @@ -124,7 +132,11 @@ impl DiagnosticSettingsResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticSettingsResourceCollection { #[doc = "The collection of diagnostic settings resources."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl DiagnosticSettingsResourceCollection { @@ -166,7 +178,11 @@ pub struct ErrorDefinition { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "Internal error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorDefinition { @@ -275,7 +291,11 @@ impl OperationsDiscovery { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationsDiscoveryCollection { #[doc = "The ClientDiscovery details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl OperationsDiscoveryCollection { diff --git a/services/mgmt/activedirectory/src/package_preview_2020_03/models.rs b/services/mgmt/activedirectory/src/package_preview_2020_03/models.rs index 21414efc40..558bb6283a 100644 --- a/services/mgmt/activedirectory/src/package_preview_2020_03/models.rs +++ b/services/mgmt/activedirectory/src/package_preview_2020_03/models.rs @@ -49,7 +49,11 @@ pub struct ErrorDefinition { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "Internal error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorDefinition { @@ -93,7 +97,11 @@ impl PrivateLinkResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateLinkResourceListResult { #[doc = "Array of private link resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of operations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -117,7 +125,12 @@ pub struct PrivateLinkResourceProperties { #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")] pub group_id: Option, #[doc = "The private link resource required member names."] - #[serde(rename = "requiredMembers", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "requiredMembers", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub required_members: Vec, } impl PrivateLinkResourceProperties { @@ -140,7 +153,11 @@ pub struct PrivateLinkPolicy { #[serde(rename = "allTenants", default, skip_serializing_if = "Option::is_none")] pub all_tenants: Option, #[doc = "The list of tenantIds."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub tenants: Vec, #[doc = "Name of the private link policy resource"] #[serde(rename = "resourceName", default, skip_serializing_if = "Option::is_none")] @@ -164,7 +181,11 @@ impl PrivateLinkPolicy { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateLinkPolicyListResult { #[doc = "Array of private link policies"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of operations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/activedirectory/src/package_preview_2020_07/models.rs b/services/mgmt/activedirectory/src/package_preview_2020_07/models.rs index 8373409df6..80b403eb80 100644 --- a/services/mgmt/activedirectory/src/package_preview_2020_07/models.rs +++ b/services/mgmt/activedirectory/src/package_preview_2020_07/models.rs @@ -66,7 +66,11 @@ pub struct ErrorDefinition { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "Internal error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorDefinition { @@ -150,7 +154,11 @@ impl AzureAdMetricsConfig { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AzureAdMetricsListResult { #[doc = "Array of AzureADMetrics resources."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of operations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/adhybridhealthservice/src/package_2014_01/models.rs b/services/mgmt/adhybridhealthservice/src/package_2014_01/models.rs index 87df430a4a..f8178e50f7 100644 --- a/services/mgmt/adhybridhealthservice/src/package_2014_01/models.rs +++ b/services/mgmt/adhybridhealthservice/src/package_2014_01/models.rs @@ -31,7 +31,11 @@ pub struct AddsConfiguration { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of configuration."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -61,7 +65,12 @@ pub struct AddsServiceMember { #[serde(rename = "siteName", default, skip_serializing_if = "Option::is_none")] pub site_name: Option, #[doc = "The list of ADDS roles."] - #[serde(rename = "addsRoles", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "addsRoles", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub adds_roles: Vec, #[doc = "Indicates if the global catalog for this domain is reachable or not."] #[serde(rename = "gcReachable", default, skip_serializing_if = "Option::is_none")] @@ -76,7 +85,12 @@ pub struct AddsServiceMember { #[serde(rename = "sysvolState", default, skip_serializing_if = "Option::is_none")] pub sysvol_state: Option, #[doc = "The list of domain controller types."] - #[serde(rename = "dcTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "dcTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub dc_types: Vec, #[doc = "The id of the server."] #[serde(rename = "serviceMemberId", default, skip_serializing_if = "Option::is_none")] @@ -97,7 +111,11 @@ pub struct AddsServiceMember { #[serde(rename = "createdDate", default, with = "azure_core::date::rfc3339::option")] pub created_date: Option, #[doc = "The server specific configuration related dimensions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub dimensions: Vec, #[doc = "Indicates if the server is disabled or not. "] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -106,7 +124,12 @@ pub struct AddsServiceMember { #[serde(rename = "disabledReason", default, skip_serializing_if = "Option::is_none")] pub disabled_reason: Option, #[doc = "The list of installed QFEs for the server."] - #[serde(rename = "installedQfes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "installedQfes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub installed_qfes: Vec, #[doc = "The date and time , in UTC, when the server was last disabled."] #[serde(rename = "lastDisabled", default, with = "azure_core::date::rfc3339::option")] @@ -131,10 +154,20 @@ pub struct AddsServiceMember { #[serde(rename = "machineName", default, skip_serializing_if = "Option::is_none")] pub machine_name: Option, #[doc = "The monitoring configuration of the server which determines what activities are monitored by Azure Active Directory Connect Health."] - #[serde(rename = "monitoringConfigurationsComputed", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitoringConfigurationsComputed", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitoring_configurations_computed: Vec, #[doc = "The customized monitoring configuration of the server which determines what activities are monitored by Azure Active Directory Connect Health."] - #[serde(rename = "monitoringConfigurationsCustomized", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitoringConfigurationsCustomized", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitoring_configurations_customized: Vec, #[doc = "The name of the operating system installed in the machine."] #[serde(rename = "osName", default, skip_serializing_if = "Option::is_none")] @@ -143,10 +176,19 @@ pub struct AddsServiceMember { #[serde(rename = "osVersion", default, skip_serializing_if = "Option::is_none")] pub os_version: Option, #[doc = "Server specific properties."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub properties: Vec, #[doc = "The list of recommended hotfixes for the server."] - #[serde(rename = "recommendedQfes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "recommendedQfes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub recommended_qfes: Vec, #[doc = "The total count of alerts that are resolved for this server."] #[serde(rename = "resolvedAlerts", default, skip_serializing_if = "Option::is_none")] @@ -183,7 +225,11 @@ pub struct AddsServiceMembers { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of service members."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -258,13 +304,23 @@ pub struct Alert { #[serde(default, skip_serializing_if = "Option::is_none")] pub remediation: Option, #[doc = "The help links to get more information related to the alert."] - #[serde(rename = "relatedLinks", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "relatedLinks", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub related_links: Vec, #[doc = "The scope of the alert. Indicates if it is a service or a server related alert."] #[serde(default, skip_serializing_if = "Option::is_none")] pub scope: Option, #[doc = "Additional information related to the alert."] - #[serde(rename = "additionalInformation", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalInformation", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_information: Vec, #[doc = "The date and time,in UTC,when the alert was created."] #[serde(rename = "createdDate", default, with = "azure_core::date::rfc3339::option")] @@ -279,10 +335,20 @@ pub struct Alert { #[serde(rename = "monitorRoleType", default, skip_serializing_if = "Option::is_none")] pub monitor_role_type: Option, #[doc = "The active alert properties."] - #[serde(rename = "activeAlertProperties", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "activeAlertProperties", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub active_alert_properties: Vec, #[doc = "The resolved alert properties."] - #[serde(rename = "resolvedAlertProperties", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resolvedAlertProperties", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resolved_alert_properties: Vec, #[doc = "The tenant Id."] #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")] @@ -421,7 +487,11 @@ impl AlertFeedback { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AlertFeedbacks { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for AlertFeedbacks { @@ -439,7 +509,11 @@ impl AlertFeedbacks { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alerts { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of operations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -511,7 +585,11 @@ impl AssociatedObject { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AttributeDelta { #[doc = "The delta values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, #[doc = "The name of the attribute delta."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -691,7 +769,12 @@ pub mod attribute_mapping { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AttributeMppingSource { #[doc = "The source attribute."] - #[serde(rename = "sourceAttribute", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "sourceAttribute", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub source_attribute: Vec, #[doc = "The value for dn part."] #[serde(rename = "dnPart", default, skip_serializing_if = "Option::is_none")] @@ -730,10 +813,19 @@ pub struct ChangeNotReimportedDelta { #[serde(default, skip_serializing_if = "Option::is_none")] pub anchor: Option, #[doc = "The delta attributes for distinguished names."] - #[serde(rename = "dnAttributes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "dnAttributes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub dn_attributes: Vec, #[doc = "The attributes."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub attributes: Vec, #[doc = "The operation type."] #[serde(rename = "operationType", default, skip_serializing_if = "Option::is_none")] @@ -809,13 +901,27 @@ pub struct ChangeNotReimportedEntry { #[serde(rename = "primaryObjectClass", default, skip_serializing_if = "Option::is_none")] pub primary_object_class: Option, #[doc = "The list of object classes."] - #[serde(rename = "objectClasses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "objectClasses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub object_classes: Vec, #[doc = "The delta attributes for distinguished names."] - #[serde(rename = "dnAttributes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "dnAttributes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub dn_attributes: Vec, #[doc = "The attributes."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub attributes: Vec, #[doc = "The distinguished name."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -863,16 +969,35 @@ pub struct Connector { #[serde(rename = "timeLastModified", default, with = "azure_core::date::rfc3339::option")] pub time_last_modified: Option, #[doc = "The partitions of the connector."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub partitions: Vec, #[doc = "The run profiles of the connector."] - #[serde(rename = "runProfiles", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "runProfiles", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub run_profiles: Vec, #[doc = "The class inclusion list of the connector."] - #[serde(rename = "classesIncluded", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "classesIncluded", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub classes_included: Vec, #[doc = "The attribute inclusion list of the connector."] - #[serde(rename = "attributesIncluded", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "attributesIncluded", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub attributes_included: Vec, } impl Connector { @@ -917,7 +1042,11 @@ impl ConnectorConnectionError { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ConnectorConnectionErrors { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl ConnectorConnectionErrors { @@ -929,10 +1058,19 @@ impl ConnectorConnectionErrors { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ConnectorMetadata { #[doc = "The list of connectors."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub connectors: Vec, #[doc = "The list of run profile names."] - #[serde(rename = "runProfileNames", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "runProfileNames", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub run_profile_names: Vec, } impl ConnectorMetadata { @@ -998,7 +1136,11 @@ pub struct ConnectorObjectError { #[serde(rename = "serverErrorDetail", default, skip_serializing_if = "Option::is_none")] pub server_error_detail: Option, #[doc = "The value corresponding to attribute name."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl ConnectorObjectError { @@ -1010,7 +1152,11 @@ impl ConnectorObjectError { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ConnectorObjectErrors { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl ConnectorObjectErrors { @@ -1022,7 +1168,11 @@ impl ConnectorObjectErrors { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Connectors { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for Connectors { @@ -1046,7 +1196,12 @@ pub struct Credential { #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")] pub type_: Option, #[doc = "The credential data."] - #[serde(rename = "credentialData", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "credentialData", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub credential_data: Vec, } impl Credential { @@ -1058,7 +1213,11 @@ impl Credential { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Credentials { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for Credentials { @@ -1076,7 +1235,11 @@ impl Credentials { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DataFreshnessDetails { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for DataFreshnessDetails { @@ -1179,7 +1342,11 @@ pub struct Dimensions { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of dimensions."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -1239,7 +1406,11 @@ impl ErrorCount { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ErrorCounts { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for ErrorCounts { @@ -1281,7 +1452,11 @@ impl ErrorDetail { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ErrorReportUsersEntries { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for ErrorReportUsersEntries { @@ -1443,7 +1618,11 @@ impl ExportError { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ExportErrors { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl ExportErrors { @@ -1479,7 +1658,11 @@ pub struct ExportStatuses { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of service elements."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -1536,10 +1719,18 @@ pub struct ForestSummary { #[serde(rename = "totalDcCount", default, skip_serializing_if = "Option::is_none")] pub total_dc_count: Option, #[doc = "The list of domain controller names."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub domains: Vec, #[doc = "The list of site names."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub sites: Vec, } impl ForestSummary { @@ -1563,7 +1754,12 @@ pub struct GlobalConfiguration { #[serde(rename = "numSavedPwdEvent", default, skip_serializing_if = "Option::is_none")] pub num_saved_pwd_event: Option, #[doc = "The list of additional feature sets."] - #[serde(rename = "featureSet", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "featureSet", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub feature_set: Vec, } impl GlobalConfiguration { @@ -1575,7 +1771,11 @@ impl GlobalConfiguration { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GlobalConfigurations { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for GlobalConfigurations { @@ -1626,7 +1826,11 @@ impl Hotfix { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Hotfixes { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl Hotfixes { @@ -1733,7 +1937,11 @@ impl IpAddressAggregateSetting { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IpAddressAggregates { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of IP Aggregate list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1870,7 +2078,11 @@ pub mod import_error { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ImportErrors { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl ImportErrors { @@ -1930,7 +2142,11 @@ impl InboundReplicationNeighbor { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct InboundReplicationNeighbors { #[doc = "The details of inbound replication neighbors."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl InboundReplicationNeighbors { @@ -1957,7 +2173,11 @@ impl Item { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Items { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for Items { @@ -2050,7 +2270,11 @@ impl MergedExportError { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct MergedExportErrors { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for MergedExportErrors { @@ -2092,7 +2316,11 @@ pub struct MetricMetadata { #[serde(rename = "metricName", default, skip_serializing_if = "Option::is_none")] pub metric_name: Option, #[doc = "The groupings for the metrics."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub groupings: Vec, #[doc = "The display name for the metric."] #[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")] @@ -2131,7 +2359,11 @@ pub struct MetricMetadataList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of service elements."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -2158,7 +2390,11 @@ pub struct MetricSet { #[serde(rename = "setName", default, skip_serializing_if = "Option::is_none")] pub set_name: Option, #[doc = "The list of the metric values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl MetricSet { @@ -2170,10 +2406,19 @@ impl MetricSet { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct MetricSets { #[doc = "The list of metric set."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub sets: Vec, #[doc = "The list of timestamps for each metric in the metric set."] - #[serde(rename = "timeStamps", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "timeStamps", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub time_stamps: Vec, } impl MetricSets { @@ -2188,7 +2433,11 @@ pub struct Metrics { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of metrics."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -2230,7 +2479,11 @@ impl ModuleConfiguration { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ModuleConfigurations { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl ModuleConfigurations { @@ -2317,7 +2570,11 @@ pub struct OperationListResponse { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of operations supported by the Microsoft.ADHybridHealthService resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of operations."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -2380,13 +2637,28 @@ pub struct PartitionScope { #[serde(rename = "isDefault", default, skip_serializing_if = "Option::is_none")] pub is_default: Option, #[doc = "The in-scope object classes."] - #[serde(rename = "objectClasses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "objectClasses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub object_classes: Vec, #[doc = "The list of containers included."] - #[serde(rename = "containersIncluded", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "containersIncluded", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub containers_included: Vec, #[doc = "The list of containers excluded."] - #[serde(rename = "containersExcluded", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "containersExcluded", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub containers_excluded: Vec, } impl PartitionScope { @@ -2494,7 +2766,11 @@ pub mod password_management_settings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ReplicationDetailsList { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of replication detail elements."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -2557,7 +2833,12 @@ pub struct ReplicationSummary { #[serde(rename = "lastSuccessfulSync", default, with = "azure_core::date::rfc3339::option")] pub last_successful_sync: Option, #[doc = "List of individual domain controller neighbor's inbound replication status."] - #[serde(rename = "inboundNeighborCollection", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "inboundNeighborCollection", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub inbound_neighbor_collection: Vec, } impl ReplicationSummary { @@ -2569,7 +2850,11 @@ impl ReplicationSummary { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ReplicationSummaryList { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for ReplicationSummaryList { @@ -2626,7 +2911,11 @@ impl RiskyIpBlobUri { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RiskyIpBlobUris { #[doc = "The list of blob uris."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for RiskyIpBlobUris { @@ -2674,7 +2963,12 @@ pub struct RunProfile { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[doc = "The run steps of the run profile."] - #[serde(rename = "runSteps", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "runSteps", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub run_steps: Vec, } impl RunProfile { @@ -2686,7 +2980,11 @@ impl RunProfile { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RunProfiles { #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl RunProfiles { @@ -2868,7 +3166,11 @@ pub struct ServiceMembers { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of service elements."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -2904,7 +3206,12 @@ pub struct ServiceProperties { #[serde(rename = "createdDate", default, with = "azure_core::date::rfc3339::option")] pub created_date: Option, #[doc = "The list of additional emails that are configured to receive notifications about the service."] - #[serde(rename = "customNotificationEmails", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "customNotificationEmails", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub custom_notification_emails: Vec, #[doc = "Indicates if the service is disabled or not."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2945,7 +3252,12 @@ pub struct ServiceProperties { )] pub notification_emails_enabled_for_global_admins: Option, #[doc = "The list of emails to whom service notifications will be sent."] - #[serde(rename = "notificationEmails", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "notificationEmails", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub notification_emails: Vec, #[doc = "Gets the original disable state."] #[serde(rename = "originalDisabledState", default, skip_serializing_if = "Option::is_none")] @@ -2984,7 +3296,11 @@ pub struct Services { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The value returned by the operation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The total count of service elements."] #[serde(rename = "totalCount", default, skip_serializing_if = "Option::is_none")] @@ -3062,7 +3378,12 @@ pub struct Tenant { #[serde(rename = "disabledReason", default, skip_serializing_if = "Option::is_none")] pub disabled_reason: Option, #[doc = "The list of global administrators for the tenant."] - #[serde(rename = "globalAdminsEmail", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "globalAdminsEmail", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub global_admins_email: Vec, #[doc = "The initial domain of the tenant."] #[serde(rename = "initialDomain", default, skip_serializing_if = "Option::is_none")] @@ -3116,7 +3437,12 @@ impl TenantOnboardingDetails { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserPreference { #[doc = "The name of the metric."] - #[serde(rename = "metricNames", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "metricNames", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub metric_names: Vec, } impl UserPreference { diff --git a/services/mgmt/adp/src/package_2020_07_01_preview/models.rs b/services/mgmt/adp/src/package_2020_07_01_preview/models.rs index 8ab4ec1728..54a4450db4 100644 --- a/services/mgmt/adp/src/package_2020_07_01_preview/models.rs +++ b/services/mgmt/adp/src/package_2020_07_01_preview/models.rs @@ -28,7 +28,11 @@ impl Account { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AccountList { #[doc = "List of accounts and their properties."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -146,7 +150,11 @@ pub struct DataPoolBaseProperties { #[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")] pub provisioning_state: Option, #[doc = "Gets or sets the collection of locations where Data Pool resources should be created."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "Metadata pertaining to creation and last modification of the resource."] #[serde(rename = "systemData", default, skip_serializing_if = "Option::is_none")] @@ -209,7 +217,11 @@ pub mod data_pool_base_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DataPoolList { #[doc = "List of data pools and their properties."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -274,7 +286,11 @@ pub struct ErrorDefinition { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "Internal error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorDefinition { @@ -352,7 +368,11 @@ impl OperationDisplay { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the Resource Provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -430,7 +450,11 @@ pub struct OperationMetricSpecification { #[serde(rename = "sourceMdmNamespace", default, skip_serializing_if = "Option::is_none")] pub source_mdm_namespace: Option, #[doc = "Defines how often data for metrics becomes available."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub availabilities: Vec, } impl OperationMetricSpecification { @@ -454,10 +478,20 @@ impl OperationProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationServiceSpecification { #[doc = "Details about operations related to logs."] - #[serde(rename = "logSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "logSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub log_specifications: Vec, #[doc = "Details about operations related to metrics."] - #[serde(rename = "metricSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "metricSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub metric_specifications: Vec, } impl OperationServiceSpecification { diff --git a/services/mgmt/adp/src/package_2021_02_01_preview/models.rs b/services/mgmt/adp/src/package_2021_02_01_preview/models.rs index 5a2809eb56..0471499272 100644 --- a/services/mgmt/adp/src/package_2021_02_01_preview/models.rs +++ b/services/mgmt/adp/src/package_2021_02_01_preview/models.rs @@ -83,7 +83,11 @@ pub mod account_check_name_availability_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AccountList { #[doc = "List of accounts and their properties"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any"] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -259,7 +263,11 @@ pub struct DataPoolBaseProperties { #[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")] pub provisioning_state: Option, #[doc = "Gets or sets the collection of locations where Data Pool resources should be created"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "Metadata pertaining to creation and last modification of the resource."] #[serde(rename = "systemData", default, skip_serializing_if = "Option::is_none")] @@ -348,7 +356,11 @@ impl DataPoolEncryption { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DataPoolList { #[doc = "List of data pools and their properties"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any"] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -416,7 +428,11 @@ pub struct ErrorDefinition { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "Internal error details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorDefinition { @@ -494,7 +510,11 @@ impl OperationDisplay { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the Resource Provider"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any"] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -572,7 +592,11 @@ pub struct OperationMetricSpecification { #[serde(rename = "sourceMdmNamespace", default, skip_serializing_if = "Option::is_none")] pub source_mdm_namespace: Option, #[doc = "Defines how often data for metrics becomes available"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub availabilities: Vec, } impl OperationMetricSpecification { @@ -596,10 +620,20 @@ impl OperationProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationServiceSpecification { #[doc = "Details about operations related to logs"] - #[serde(rename = "logSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "logSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub log_specifications: Vec, #[doc = "Details about operations related to metrics"] - #[serde(rename = "metricSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "metricSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub metric_specifications: Vec, } impl OperationServiceSpecification { diff --git a/services/mgmt/adp/src/package_2021_11_01_preview/models.rs b/services/mgmt/adp/src/package_2021_11_01_preview/models.rs index b871704e5c..e52329f990 100644 --- a/services/mgmt/adp/src/package_2021_11_01_preview/models.rs +++ b/services/mgmt/adp/src/package_2021_11_01_preview/models.rs @@ -83,7 +83,11 @@ pub mod account_check_name_availability_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AccountList { #[doc = "List of accounts and their properties"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any"] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -263,7 +267,11 @@ pub struct DataPoolBaseProperties { #[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")] pub provisioning_state: Option, #[doc = "Gets or sets the collection of locations where Data Pool resources should be created"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "Resource tags"] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -352,7 +360,11 @@ impl DataPoolEncryption { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DataPoolList { #[doc = "List of data pools and their properties"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any"] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -434,7 +446,11 @@ pub struct ErrorDefinition { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "Internal error details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorDefinition { @@ -512,7 +528,11 @@ impl OperationDisplay { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the Resource Provider"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any"] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -590,7 +610,11 @@ pub struct OperationMetricSpecification { #[serde(rename = "sourceMdmNamespace", default, skip_serializing_if = "Option::is_none")] pub source_mdm_namespace: Option, #[doc = "Defines how often data for metrics becomes available"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub availabilities: Vec, } impl OperationMetricSpecification { @@ -614,10 +638,20 @@ impl OperationProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationServiceSpecification { #[doc = "Details about operations related to logs"] - #[serde(rename = "logSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "logSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub log_specifications: Vec, #[doc = "Details about operations related to metrics"] - #[serde(rename = "metricSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "metricSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub metric_specifications: Vec, } impl OperationServiceSpecification { diff --git a/services/mgmt/advisor/src/package_2017_04/models.rs b/services/mgmt/advisor/src/package_2017_04/models.rs index 870d8d94e1..1c43429f2b 100644 --- a/services/mgmt/advisor/src/package_2017_04/models.rs +++ b/services/mgmt/advisor/src/package_2017_04/models.rs @@ -61,7 +61,11 @@ pub mod config_data { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ConfigurationListResult { #[doc = "The list of configurations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of configurations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -103,7 +107,11 @@ impl MetadataEntity { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct MetadataEntityListResult { #[doc = "The list of metadata entities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of metadata."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -127,13 +135,28 @@ pub struct MetadataEntityProperties { #[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")] pub display_name: Option, #[doc = "The list of keys on which this entity depends on."] - #[serde(rename = "dependsOn", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "dependsOn", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub depends_on: Vec, #[doc = "The list of scenarios applicable to this metadata entity."] - #[serde(rename = "applicableScenarios", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "applicableScenarios", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub applicable_scenarios: Vec, #[doc = "The list of supported values."] - #[serde(rename = "supportedValues", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "supportedValues", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub supported_values: Vec, } impl MetadataEntityProperties { @@ -199,7 +222,11 @@ pub struct OperationEntityListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of operations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for OperationEntityListResult { @@ -244,7 +271,12 @@ pub struct RecommendationProperties { #[serde(rename = "shortDescription", default, skip_serializing_if = "Option::is_none")] pub short_description: Option, #[doc = "The list of snoozed and dismissed rules for the recommendation."] - #[serde(rename = "suppressionIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "suppressionIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub suppression_ids: Vec, #[doc = "Extended properties"] #[serde(rename = "extendedProperties", default, skip_serializing_if = "Option::is_none")] @@ -418,7 +450,11 @@ pub struct ResourceRecommendationBaseListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of recommendations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for ResourceRecommendationBaseListResult { @@ -468,7 +504,11 @@ pub struct SuppressionContractListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of suppressions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for SuppressionContractListResult { diff --git a/services/mgmt/advisor/src/package_2020_01/models.rs b/services/mgmt/advisor/src/package_2020_01/models.rs index 75f536fa79..67fac37d08 100644 --- a/services/mgmt/advisor/src/package_2020_01/models.rs +++ b/services/mgmt/advisor/src/package_2020_01/models.rs @@ -59,7 +59,11 @@ pub struct ConfigDataProperties { #[serde(rename = "lowCpuThreshold", default, skip_serializing_if = "Option::is_none")] pub low_cpu_threshold: Option, #[doc = "Advisor digest configuration. Valid only for subscriptions"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub digests: Vec, } impl ConfigDataProperties { @@ -119,7 +123,11 @@ pub mod config_data_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ConfigurationListResult { #[doc = "The list of configurations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of configurations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -149,7 +157,11 @@ pub struct DigestConfig { #[serde(default, skip_serializing_if = "Option::is_none")] pub frequency: Option, #[doc = "Categories to send digest for. If categories are not provided, then digest will be sent for all categories."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub categories: Vec, #[doc = "Language for digest content body. Value must be ISO 639-1 code for one of Azure portal supported languages. Otherwise, it will be converted into one. Default value is English (en)."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -228,7 +240,11 @@ impl MetadataEntity { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct MetadataEntityListResult { #[doc = "The list of metadata entities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of metadata."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -252,13 +268,28 @@ pub struct MetadataEntityProperties { #[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")] pub display_name: Option, #[doc = "The list of keys on which this entity depends on."] - #[serde(rename = "dependsOn", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "dependsOn", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub depends_on: Vec, #[doc = "The list of scenarios applicable to this metadata entity."] - #[serde(rename = "applicableScenarios", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "applicableScenarios", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub applicable_scenarios: Vec, #[doc = "The list of supported values."] - #[serde(rename = "supportedValues", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "supportedValues", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub supported_values: Vec, } impl MetadataEntityProperties { @@ -324,7 +355,11 @@ pub struct OperationEntityListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of operations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for OperationEntityListResult { @@ -369,7 +404,12 @@ pub struct RecommendationProperties { #[serde(rename = "shortDescription", default, skip_serializing_if = "Option::is_none")] pub short_description: Option, #[doc = "The list of snoozed and dismissed rules for the recommendation."] - #[serde(rename = "suppressionIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "suppressionIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub suppression_ids: Vec, #[doc = "Extended properties"] #[serde(rename = "extendedProperties", default, skip_serializing_if = "Option::is_none")] @@ -390,7 +430,11 @@ pub struct RecommendationProperties { #[serde(rename = "potentialBenefits", default, skip_serializing_if = "Option::is_none")] pub potential_benefits: Option, #[doc = "The list of recommended actions to implement recommendation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub actions: Vec, #[doc = "The automated way to apply recommendation."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -591,7 +635,11 @@ pub struct ResourceRecommendationBaseListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of recommendations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for ResourceRecommendationBaseListResult { @@ -641,7 +689,11 @@ pub struct SuppressionContractListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of suppressions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for SuppressionContractListResult { diff --git a/services/mgmt/advisor/src/package_2020_07_preview/models.rs b/services/mgmt/advisor/src/package_2020_07_preview/models.rs index a1a2de8018..9405a8e7f3 100644 --- a/services/mgmt/advisor/src/package_2020_07_preview/models.rs +++ b/services/mgmt/advisor/src/package_2020_07_preview/models.rs @@ -72,7 +72,11 @@ pub struct OperationEntityListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of operations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for OperationEntityListResult { diff --git a/services/mgmt/advisor/src/package_2022_02_preview/models.rs b/services/mgmt/advisor/src/package_2022_02_preview/models.rs index 096482fe3d..68f4860754 100644 --- a/services/mgmt/advisor/src/package_2022_02_preview/models.rs +++ b/services/mgmt/advisor/src/package_2022_02_preview/models.rs @@ -167,7 +167,11 @@ pub struct OperationEntityListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of operations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for OperationEntityListResult { diff --git a/services/mgmt/advisor/src/package_2022_09/models.rs b/services/mgmt/advisor/src/package_2022_09/models.rs index 60113b8379..e80642131b 100644 --- a/services/mgmt/advisor/src/package_2022_09/models.rs +++ b/services/mgmt/advisor/src/package_2022_09/models.rs @@ -62,7 +62,11 @@ pub struct ConfigDataProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub duration: Option, #[doc = "Advisor digest configuration. Valid only for subscriptions"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub digests: Vec, } impl ConfigDataProperties { @@ -173,7 +177,11 @@ pub mod config_data_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ConfigurationListResult { #[doc = "The list of configurations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of configurations."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -203,7 +211,11 @@ pub struct DigestConfig { #[serde(default, skip_serializing_if = "Option::is_none")] pub frequency: Option, #[doc = "Categories to send digest for. If categories are not provided, then digest will be sent for all categories."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub categories: Vec, #[doc = "Language for digest content body. Value must be ISO 639-1 code for one of Azure portal supported languages. Otherwise, it will be converted into one. Default value is English (en)."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -282,7 +294,11 @@ impl MetadataEntity { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct MetadataEntityListResult { #[doc = "The list of metadata entities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The link used to get the next page of metadata."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -306,13 +322,28 @@ pub struct MetadataEntityProperties { #[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")] pub display_name: Option, #[doc = "The list of keys on which this entity depends on."] - #[serde(rename = "dependsOn", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "dependsOn", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub depends_on: Vec, #[doc = "The list of scenarios applicable to this metadata entity."] - #[serde(rename = "applicableScenarios", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "applicableScenarios", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub applicable_scenarios: Vec, #[doc = "The list of supported values."] - #[serde(rename = "supportedValues", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "supportedValues", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub supported_values: Vec, } impl MetadataEntityProperties { @@ -378,7 +409,11 @@ pub struct OperationEntityListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of operations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for OperationEntityListResult { @@ -650,7 +685,12 @@ pub struct RecommendationProperties { #[serde(rename = "shortDescription", default, skip_serializing_if = "Option::is_none")] pub short_description: Option, #[doc = "The list of snoozed and dismissed rules for the recommendation."] - #[serde(rename = "suppressionIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "suppressionIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub suppression_ids: Vec, #[doc = "Extended properties"] #[serde(rename = "extendedProperties", default, skip_serializing_if = "Option::is_none")] @@ -671,7 +711,11 @@ pub struct RecommendationProperties { #[serde(rename = "potentialBenefits", default, skip_serializing_if = "Option::is_none")] pub potential_benefits: Option, #[doc = "The list of recommended actions to implement recommendation."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub actions: Vec, #[doc = "The automated way to apply recommendation."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -872,7 +916,11 @@ pub struct ResourceRecommendationBaseListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of recommendations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for ResourceRecommendationBaseListResult { @@ -922,7 +970,11 @@ pub struct SuppressionContractListResult { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "The list of suppressions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for SuppressionContractListResult { diff --git a/services/mgmt/agrifood/src/package_2020_05_12_preview/models.rs b/services/mgmt/agrifood/src/package_2020_05_12_preview/models.rs index 7222497897..83c85f0202 100644 --- a/services/mgmt/agrifood/src/package_2020_05_12_preview/models.rs +++ b/services/mgmt/agrifood/src/package_2020_05_12_preview/models.rs @@ -83,16 +83,31 @@ pub struct DetailedInformation { #[serde(rename = "apiName", default, skip_serializing_if = "Option::is_none")] pub api_name: Option, #[doc = "List of customParameters."] - #[serde(rename = "customParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "customParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub custom_parameters: Vec, #[doc = "List of platformParameters."] - #[serde(rename = "platformParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "platformParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub platform_parameters: Vec, #[doc = "Unit systems info for the data provider."] #[serde(rename = "unitsSupported", default, skip_serializing_if = "Option::is_none")] pub units_supported: Option, #[doc = "List of apiInputParameters."] - #[serde(rename = "apiInputParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "apiInputParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub api_input_parameters: Vec, } impl DetailedInformation { @@ -128,10 +143,19 @@ pub struct ErrorDetail { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "The error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, #[doc = "The error additional info."] - #[serde(rename = "additionalInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_info: Vec, } impl ErrorDetail { @@ -181,7 +205,11 @@ impl Extension { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ExtensionListResponse { #[doc = "List of requested objects."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Continuation link (absolute URI) to the next page of results in the list."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -264,7 +292,11 @@ impl FarmBeatsExtension { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct FarmBeatsExtensionListResponse { #[doc = "List of requested objects."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Continuation link (absolute URI) to the next page of results in the list."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -312,7 +344,12 @@ pub struct FarmBeatsExtensionProperties { #[serde(rename = "extensionApiDocsLink", default, skip_serializing_if = "Option::is_none")] pub extension_api_docs_link: Option, #[doc = "Detailed information which shows summary of requested data.\r\nUsed in descriptive get extension metadata call.\r\nInformation for weather category per api included are apisSupported,\r\ncustomParameters, PlatformParameters and Units supported."] - #[serde(rename = "detailedInformation", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "detailedInformation", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub detailed_information: Vec, } impl FarmBeatsExtensionProperties { @@ -324,7 +361,11 @@ impl FarmBeatsExtensionProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct FarmBeatsListResponse { #[doc = "List of requested objects."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Continuation link (absolute URI) to the next page of results in the list."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -540,7 +581,11 @@ pub mod operation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the resource provider"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results (if there are any)."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/agrifood/src/package_preview_2021_09/models.rs b/services/mgmt/agrifood/src/package_preview_2021_09/models.rs index 268877b9a8..eb34af68ef 100644 --- a/services/mgmt/agrifood/src/package_preview_2021_09/models.rs +++ b/services/mgmt/agrifood/src/package_preview_2021_09/models.rs @@ -95,16 +95,31 @@ pub struct DetailedInformation { #[serde(rename = "apiName", default, skip_serializing_if = "Option::is_none")] pub api_name: Option, #[doc = "List of customParameters."] - #[serde(rename = "customParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "customParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub custom_parameters: Vec, #[doc = "List of platformParameters."] - #[serde(rename = "platformParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "platformParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub platform_parameters: Vec, #[doc = "Unit systems info for the data provider."] #[serde(rename = "unitsSupported", default, skip_serializing_if = "Option::is_none")] pub units_supported: Option, #[doc = "List of apiInputParameters."] - #[serde(rename = "apiInputParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "apiInputParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub api_input_parameters: Vec, } impl DetailedInformation { @@ -140,10 +155,19 @@ pub struct ErrorDetail { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "The error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, #[doc = "The error additional info."] - #[serde(rename = "additionalInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_info: Vec, } impl ErrorDetail { @@ -193,7 +217,11 @@ impl Extension { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ExtensionListResponse { #[doc = "List of requested objects."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Continuation link (absolute URI) to the next page of results in the list."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -273,7 +301,11 @@ impl FarmBeatsExtension { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct FarmBeatsExtensionListResponse { #[doc = "List of requested objects."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Continuation link (absolute URI) to the next page of results in the list."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -321,7 +353,12 @@ pub struct FarmBeatsExtensionProperties { #[serde(rename = "extensionApiDocsLink", default, skip_serializing_if = "Option::is_none")] pub extension_api_docs_link: Option, #[doc = "Detailed information which shows summary of requested data.\r\nUsed in descriptive get extension metadata call.\r\nInformation for weather category per api included are apisSupported,\r\ncustomParameters, PlatformParameters and Units supported."] - #[serde(rename = "detailedInformation", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "detailedInformation", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub detailed_information: Vec, } impl FarmBeatsExtensionProperties { @@ -333,7 +370,11 @@ impl FarmBeatsExtensionProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct FarmBeatsListResponse { #[doc = "List of requested objects."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Continuation link (absolute URI) to the next page of results in the list."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -611,7 +652,11 @@ pub mod operation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the resource provider"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results (if there are any)."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -658,7 +703,11 @@ impl PrivateEndpointConnection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateEndpointConnectionListResult { #[doc = "Array of private endpoint connections"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for PrivateEndpointConnectionListResult { @@ -792,7 +841,11 @@ impl PrivateLinkResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateLinkResourceListResult { #[doc = "Array of private link resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for PrivateLinkResourceListResult { @@ -813,10 +866,20 @@ pub struct PrivateLinkResourceProperties { #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")] pub group_id: Option, #[doc = "The private link resource required member names."] - #[serde(rename = "requiredMembers", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "requiredMembers", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub required_members: Vec, #[doc = "The private link resource Private link DNS zone name."] - #[serde(rename = "requiredZoneNames", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "requiredZoneNames", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub required_zone_names: Vec, } impl PrivateLinkResourceProperties { diff --git a/services/mgmt/alertsmanagement/src/package_2019_06_preview/models.rs b/services/mgmt/alertsmanagement/src/package_2019_06_preview/models.rs index b8faaba6aa..8c75a21890 100644 --- a/services/mgmt/alertsmanagement/src/package_2019_06_preview/models.rs +++ b/services/mgmt/alertsmanagement/src/package_2019_06_preview/models.rs @@ -191,7 +191,11 @@ pub struct ActionRulesList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of action rules"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for ActionRulesList { @@ -484,7 +488,11 @@ pub mod alert_rule_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AlertRulesList { #[doc = "List of Smart Detector alert rules."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "The URL to get the next set of results."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -532,7 +540,11 @@ pub struct Condition { #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, #[doc = "list of values to match for a given condition."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl Condition { @@ -632,10 +644,20 @@ pub struct Detector { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "The Smart Detector supported resource types. By default this is not populated, unless it's specified in expandDetector"] - #[serde(rename = "supportedResourceTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "supportedResourceTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub supported_resource_types: Vec, #[doc = "The Smart Detector image path. By default this is not populated, unless it's specified in expandDetector"] - #[serde(rename = "imagePaths", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "imagePaths", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub image_paths: Vec, } impl Detector { @@ -804,7 +826,11 @@ pub struct Scope { #[serde(rename = "scopeType", default, skip_serializing_if = "Option::is_none")] pub scope_type: Option, #[doc = "list of ARM IDs of the given scope type which will be the target of the given action rule."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl Scope { @@ -972,7 +998,12 @@ pub struct SuppressionSchedule { #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")] pub end_time: Option, #[doc = "Specifies the values for recurrence pattern"] - #[serde(rename = "recurrenceValues", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "recurrenceValues", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub recurrence_values: Vec, } impl SuppressionSchedule { @@ -1093,7 +1124,11 @@ pub struct AlertModificationProperties { #[serde(rename = "alertId", default, skip_serializing_if = "Option::is_none")] pub alert_id: Option, #[doc = "Modification details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub modifications: Vec, } impl AlertModificationProperties { @@ -1126,7 +1161,11 @@ pub struct AlertsList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alerts"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for AlertsList { @@ -1229,7 +1268,11 @@ pub struct AlertsSummaryGroup { #[serde(default, skip_serializing_if = "Option::is_none")] pub groupedby: Option, #[doc = "List of the items"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl AlertsSummaryGroup { @@ -1250,7 +1293,11 @@ pub struct AlertsSummaryGroupItem { #[serde(default, skip_serializing_if = "Option::is_none")] pub groupedby: Option, #[doc = "List of the items"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl AlertsSummaryGroupItem { @@ -1297,7 +1344,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "A list of additional details about the error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -1755,7 +1806,11 @@ pub struct SmartGroupModificationProperties { #[serde(rename = "smartGroupId", default, skip_serializing_if = "Option::is_none")] pub smart_group_id: Option, #[doc = "Modification details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub modifications: Vec, #[doc = "URL to fetch the next set of results."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1788,25 +1843,59 @@ pub struct SmartGroupProperties { #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, #[doc = "Summary of target resources in the smart group"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resources: Vec, #[doc = "Summary of target resource types in the smart group"] - #[serde(rename = "resourceTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resourceTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resource_types: Vec, #[doc = "Summary of target resource groups in the smart group"] - #[serde(rename = "resourceGroups", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resourceGroups", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resource_groups: Vec, #[doc = "Summary of monitorServices in the smart group"] - #[serde(rename = "monitorServices", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitorServices", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitor_services: Vec, #[doc = "Summary of monitorConditions in the smart group"] - #[serde(rename = "monitorConditions", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitorConditions", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitor_conditions: Vec, #[doc = "Summary of alertStates in the smart group"] - #[serde(rename = "alertStates", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "alertStates", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub alert_states: Vec, #[doc = "Summary of alertSeverities in the smart group"] - #[serde(rename = "alertSeverities", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "alertSeverities", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub alert_severities: Vec, #[doc = "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1909,7 +1998,11 @@ pub struct SmartGroupsList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alerts"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for SmartGroupsList { diff --git a/services/mgmt/alertsmanagement/src/package_2021_08/models.rs b/services/mgmt/alertsmanagement/src/package_2021_08/models.rs index 678aaffeb4..c965ee5b79 100644 --- a/services/mgmt/alertsmanagement/src/package_2021_08/models.rs +++ b/services/mgmt/alertsmanagement/src/package_2021_08/models.rs @@ -129,7 +129,11 @@ pub struct AlertProcessingRulesList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alert processing rules."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for AlertProcessingRulesList { @@ -153,7 +157,11 @@ pub struct Condition { #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, #[doc = "List of values to match for a given condition."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl Condition { @@ -517,7 +525,11 @@ pub struct Schedule { #[serde(rename = "timeZone", default, skip_serializing_if = "Option::is_none")] pub time_zone: Option, #[doc = "List of recurrences."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub recurrences: Vec, } impl Schedule { @@ -641,7 +653,11 @@ pub struct AlertModificationProperties { #[serde(rename = "alertId", default, skip_serializing_if = "Option::is_none")] pub alert_id: Option, #[doc = "Modification details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub modifications: Vec, } impl AlertModificationProperties { @@ -674,7 +690,11 @@ pub struct AlertsList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alerts"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for AlertsList { @@ -777,7 +797,11 @@ pub struct AlertsSummaryGroup { #[serde(default, skip_serializing_if = "Option::is_none")] pub groupedby: Option, #[doc = "List of the items"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl AlertsSummaryGroup { @@ -798,7 +822,11 @@ pub struct AlertsSummaryGroupItem { #[serde(default, skip_serializing_if = "Option::is_none")] pub groupedby: Option, #[doc = "List of the items"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl AlertsSummaryGroupItem { @@ -845,7 +873,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "A list of additional details about the error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -1303,7 +1335,11 @@ pub struct SmartGroupModificationProperties { #[serde(rename = "smartGroupId", default, skip_serializing_if = "Option::is_none")] pub smart_group_id: Option, #[doc = "Modification details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub modifications: Vec, #[doc = "URL to fetch the next set of results."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1336,25 +1372,59 @@ pub struct SmartGroupProperties { #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, #[doc = "Summary of target resources in the smart group"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resources: Vec, #[doc = "Summary of target resource types in the smart group"] - #[serde(rename = "resourceTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resourceTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resource_types: Vec, #[doc = "Summary of target resource groups in the smart group"] - #[serde(rename = "resourceGroups", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resourceGroups", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resource_groups: Vec, #[doc = "Summary of monitorServices in the smart group"] - #[serde(rename = "monitorServices", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitorServices", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitor_services: Vec, #[doc = "Summary of monitorConditions in the smart group"] - #[serde(rename = "monitorConditions", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitorConditions", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitor_conditions: Vec, #[doc = "Summary of alertStates in the smart group"] - #[serde(rename = "alertStates", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "alertStates", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub alert_states: Vec, #[doc = "Summary of alertSeverities in the smart group"] - #[serde(rename = "alertSeverities", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "alertSeverities", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub alert_severities: Vec, #[doc = "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1457,7 +1527,11 @@ pub struct SmartGroupsList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alerts"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for SmartGroupsList { diff --git a/services/mgmt/alertsmanagement/src/package_preview_2019_05/models.rs b/services/mgmt/alertsmanagement/src/package_preview_2019_05/models.rs index 9b3805608d..a87d1f5166 100644 --- a/services/mgmt/alertsmanagement/src/package_preview_2019_05/models.rs +++ b/services/mgmt/alertsmanagement/src/package_preview_2019_05/models.rs @@ -169,7 +169,11 @@ pub struct ActionRulesList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of action rules"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for ActionRulesList { @@ -190,7 +194,11 @@ pub struct Condition { #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, #[doc = "list of values to match for a given condition."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl Condition { @@ -429,7 +437,11 @@ pub struct Scope { #[serde(rename = "scopeType", default, skip_serializing_if = "Option::is_none")] pub scope_type: Option, #[doc = "list of ARM IDs of the given scope type which will be the target of the given action rule."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl Scope { @@ -576,7 +588,12 @@ pub struct SuppressionSchedule { #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")] pub end_time: Option, #[doc = "Specifies the values for recurrence pattern"] - #[serde(rename = "recurrenceValues", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "recurrenceValues", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub recurrence_values: Vec, } impl SuppressionSchedule { @@ -685,7 +702,11 @@ pub struct AlertModificationProperties { #[serde(rename = "alertId", default, skip_serializing_if = "Option::is_none")] pub alert_id: Option, #[doc = "Modification details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub modifications: Vec, } impl AlertModificationProperties { @@ -718,7 +739,11 @@ pub struct AlertsList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alerts"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for AlertsList { @@ -821,7 +846,11 @@ pub struct AlertsSummaryGroup { #[serde(default, skip_serializing_if = "Option::is_none")] pub groupedby: Option, #[doc = "List of the items"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl AlertsSummaryGroup { @@ -842,7 +871,11 @@ pub struct AlertsSummaryGroupItem { #[serde(default, skip_serializing_if = "Option::is_none")] pub groupedby: Option, #[doc = "List of the items"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl AlertsSummaryGroupItem { @@ -889,7 +922,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "A list of additional details about the error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -1347,7 +1384,11 @@ pub struct SmartGroupModificationProperties { #[serde(rename = "smartGroupId", default, skip_serializing_if = "Option::is_none")] pub smart_group_id: Option, #[doc = "Modification details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub modifications: Vec, #[doc = "URL to fetch the next set of results."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1380,25 +1421,59 @@ pub struct SmartGroupProperties { #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, #[doc = "Summary of target resources in the smart group"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resources: Vec, #[doc = "Summary of target resource types in the smart group"] - #[serde(rename = "resourceTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resourceTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resource_types: Vec, #[doc = "Summary of target resource groups in the smart group"] - #[serde(rename = "resourceGroups", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resourceGroups", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resource_groups: Vec, #[doc = "Summary of monitorServices in the smart group"] - #[serde(rename = "monitorServices", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitorServices", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitor_services: Vec, #[doc = "Summary of monitorConditions in the smart group"] - #[serde(rename = "monitorConditions", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitorConditions", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitor_conditions: Vec, #[doc = "Summary of alertStates in the smart group"] - #[serde(rename = "alertStates", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "alertStates", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub alert_states: Vec, #[doc = "Summary of alertSeverities in the smart group"] - #[serde(rename = "alertSeverities", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "alertSeverities", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub alert_severities: Vec, #[doc = "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1501,7 +1576,11 @@ pub struct SmartGroupsList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alerts"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for SmartGroupsList { diff --git a/services/mgmt/alertsmanagement/src/package_preview_2021_08/models.rs b/services/mgmt/alertsmanagement/src/package_preview_2021_08/models.rs index 678aaffeb4..c965ee5b79 100644 --- a/services/mgmt/alertsmanagement/src/package_preview_2021_08/models.rs +++ b/services/mgmt/alertsmanagement/src/package_preview_2021_08/models.rs @@ -129,7 +129,11 @@ pub struct AlertProcessingRulesList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alert processing rules."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for AlertProcessingRulesList { @@ -153,7 +157,11 @@ pub struct Condition { #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, #[doc = "List of values to match for a given condition."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl Condition { @@ -517,7 +525,11 @@ pub struct Schedule { #[serde(rename = "timeZone", default, skip_serializing_if = "Option::is_none")] pub time_zone: Option, #[doc = "List of recurrences."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub recurrences: Vec, } impl Schedule { @@ -641,7 +653,11 @@ pub struct AlertModificationProperties { #[serde(rename = "alertId", default, skip_serializing_if = "Option::is_none")] pub alert_id: Option, #[doc = "Modification details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub modifications: Vec, } impl AlertModificationProperties { @@ -674,7 +690,11 @@ pub struct AlertsList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alerts"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for AlertsList { @@ -777,7 +797,11 @@ pub struct AlertsSummaryGroup { #[serde(default, skip_serializing_if = "Option::is_none")] pub groupedby: Option, #[doc = "List of the items"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl AlertsSummaryGroup { @@ -798,7 +822,11 @@ pub struct AlertsSummaryGroupItem { #[serde(default, skip_serializing_if = "Option::is_none")] pub groupedby: Option, #[doc = "List of the items"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl AlertsSummaryGroupItem { @@ -845,7 +873,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "A list of additional details about the error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -1303,7 +1335,11 @@ pub struct SmartGroupModificationProperties { #[serde(rename = "smartGroupId", default, skip_serializing_if = "Option::is_none")] pub smart_group_id: Option, #[doc = "Modification details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub modifications: Vec, #[doc = "URL to fetch the next set of results."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1336,25 +1372,59 @@ pub struct SmartGroupProperties { #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, #[doc = "Summary of target resources in the smart group"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resources: Vec, #[doc = "Summary of target resource types in the smart group"] - #[serde(rename = "resourceTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resourceTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resource_types: Vec, #[doc = "Summary of target resource groups in the smart group"] - #[serde(rename = "resourceGroups", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "resourceGroups", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub resource_groups: Vec, #[doc = "Summary of monitorServices in the smart group"] - #[serde(rename = "monitorServices", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitorServices", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitor_services: Vec, #[doc = "Summary of monitorConditions in the smart group"] - #[serde(rename = "monitorConditions", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "monitorConditions", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub monitor_conditions: Vec, #[doc = "Summary of alertStates in the smart group"] - #[serde(rename = "alertStates", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "alertStates", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub alert_states: Vec, #[doc = "Summary of alertSeverities in the smart group"] - #[serde(rename = "alertSeverities", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "alertSeverities", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub alert_severities: Vec, #[doc = "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1457,7 +1527,11 @@ pub struct SmartGroupsList { #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] pub next_link: Option, #[doc = "List of alerts"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for SmartGroupsList { diff --git a/services/mgmt/analysisservices/src/package_2016_05/models.rs b/services/mgmt/analysisservices/src/package_2016_05/models.rs index 6bf41b18cf..ae80fc382f 100644 --- a/services/mgmt/analysisservices/src/package_2016_05/models.rs +++ b/services/mgmt/analysisservices/src/package_2016_05/models.rs @@ -287,10 +287,19 @@ pub struct ErrorDetail { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "The error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, #[doc = "The error additional info."] - #[serde(rename = "additionalInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_info: Vec, } impl ErrorDetail { @@ -317,7 +326,11 @@ pub struct ErrorObject { #[serde(rename = "timeStamp", default, skip_serializing_if = "Option::is_none")] pub time_stamp: Option, #[doc = "The error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorObject { @@ -395,7 +408,11 @@ pub struct MetricSpecifications { #[serde(rename = "aggregationType", default, skip_serializing_if = "Option::is_none")] pub aggregation_type: Option, #[doc = "The dimensions of metric."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub dimensions: Vec, } impl MetricSpecifications { @@ -447,10 +464,20 @@ pub mod operation_detail { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ServiceSpecification { #[doc = "The metric specifications."] - #[serde(rename = "metricSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "metricSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub metric_specifications: Vec, #[doc = "The log specifications."] - #[serde(rename = "logSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "logSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub log_specifications: Vec, } impl ServiceSpecification { @@ -485,7 +512,11 @@ impl OperationDisplay { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of analysis services operations supported by the Microsoft.AnalysisServices resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -646,7 +677,11 @@ pub mod resource_sku { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ServerAdministrators { #[doc = "An array of administrator user identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub members: Vec, } impl ServerAdministrators { @@ -673,7 +708,11 @@ impl SkuDetailsForExistingResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SkuEnumerationForExistingResourceResult { #[doc = "The collection of available SKUs for existing resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl SkuEnumerationForExistingResourceResult { @@ -685,7 +724,11 @@ impl SkuEnumerationForExistingResourceResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SkuEnumerationForNewResourceResult { #[doc = "The collection of available SKUs for new resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl SkuEnumerationForNewResourceResult { diff --git a/services/mgmt/analysisservices/src/package_2017_07/models.rs b/services/mgmt/analysisservices/src/package_2017_07/models.rs index 8b8caf442d..feef334211 100644 --- a/services/mgmt/analysisservices/src/package_2017_07/models.rs +++ b/services/mgmt/analysisservices/src/package_2017_07/models.rs @@ -286,10 +286,19 @@ pub struct ErrorDetail { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "The error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, #[doc = "The error additional info."] - #[serde(rename = "additionalInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_info: Vec, } impl ErrorDetail { @@ -327,7 +336,11 @@ pub mod error_response { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "The error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl Error { @@ -451,7 +464,11 @@ pub struct MetricSpecifications { #[serde(rename = "aggregationType", default, skip_serializing_if = "Option::is_none")] pub aggregation_type: Option, #[doc = "The dimensions of metric."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub dimensions: Vec, } impl MetricSpecifications { @@ -503,10 +520,20 @@ pub mod operation_detail { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ServiceSpecification { #[doc = "The metric specifications."] - #[serde(rename = "metricSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "metricSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub metric_specifications: Vec, #[doc = "The log specifications."] - #[serde(rename = "logSpecifications", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "logSpecifications", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub log_specifications: Vec, } impl ServiceSpecification { @@ -541,7 +568,11 @@ impl OperationDisplay { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of analysis services operations supported by the Microsoft.AnalysisServices resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -695,7 +726,11 @@ pub mod resource_sku { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ServerAdministrators { #[doc = "An array of administrator user identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub members: Vec, } impl ServerAdministrators { @@ -722,7 +757,11 @@ impl SkuDetailsForExistingResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SkuEnumerationForExistingResourceResult { #[doc = "The collection of available SKUs for existing resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl SkuEnumerationForExistingResourceResult { @@ -734,7 +773,11 @@ impl SkuEnumerationForExistingResourceResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SkuEnumerationForNewResourceResult { #[doc = "The collection of available SKUs for new resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl SkuEnumerationForNewResourceResult { diff --git a/services/mgmt/analysisservices/src/package_2017_08_beta/models.rs b/services/mgmt/analysisservices/src/package_2017_08_beta/models.rs index f04cae6901..9ad02efefa 100644 --- a/services/mgmt/analysisservices/src/package_2017_08_beta/models.rs +++ b/services/mgmt/analysisservices/src/package_2017_08_beta/models.rs @@ -306,10 +306,19 @@ pub struct ErrorDetail { #[serde(default, skip_serializing_if = "Option::is_none")] pub target: Option, #[doc = "The error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, #[doc = "The error additional info."] - #[serde(rename = "additionalInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_info: Vec, } impl ErrorDetail { @@ -347,7 +356,11 @@ pub mod error_response { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "The error details."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl Error { @@ -441,7 +454,12 @@ impl IPv4FirewallRule { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IPv4FirewallSettings { #[doc = "An array of firewall rules."] - #[serde(rename = "firewallRules", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "firewallRules", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub firewall_rules: Vec, #[doc = "The indicator of enabling PBI service."] #[serde(rename = "enablePowerBIService", default, skip_serializing_if = "Option::is_none")] @@ -498,7 +516,11 @@ pub mod operation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of analysis services operations supported by the Microsoft.AnalysisServices resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -641,7 +663,11 @@ pub mod resource_sku { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ServerAdministrators { #[doc = "An array of administrator user identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub members: Vec, } impl ServerAdministrators { @@ -665,7 +691,11 @@ impl SkuDetailsForExistingResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SkuEnumerationForExistingResourceResult { #[doc = "The collection of available SKUs for existing resources."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl SkuEnumerationForExistingResourceResult { @@ -677,7 +707,11 @@ impl SkuEnumerationForExistingResourceResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SkuEnumerationForNewResourceResult { #[doc = "The collection of available SKUs for new resources."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl SkuEnumerationForNewResourceResult { diff --git a/services/mgmt/apimanagement/src/package_preview_2019_12/models.rs b/services/mgmt/apimanagement/src/package_preview_2019_12/models.rs index 38ef85f095..90320852c1 100644 --- a/services/mgmt/apimanagement/src/package_preview_2019_12/models.rs +++ b/services/mgmt/apimanagement/src/package_preview_2019_12/models.rs @@ -56,10 +56,20 @@ pub struct AdditionalLocation { #[doc = "API Management service resource SKU properties."] pub sku: ApiManagementServiceSkuProperties, #[doc = "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard and Premium SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Configuration of a virtual network to which API Management service is deployed."] #[serde(rename = "virtualNetworkConfiguration", default, skip_serializing_if = "Option::is_none")] @@ -88,7 +98,11 @@ impl AdditionalLocation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -136,7 +150,11 @@ pub struct ApiContractProperties { #[doc = "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API."] pub path: String, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, #[doc = "An API Version Set contains the common configuration for a set of API Versions relating "] #[serde(rename = "apiVersionSet", default, skip_serializing_if = "Option::is_none")] @@ -170,7 +188,11 @@ pub struct ApiContractUpdateProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiContractUpdateProperties { @@ -576,25 +598,49 @@ pub struct ApiManagementServiceBaseProperties { #[serde(rename = "developerPortalUrl", default, skip_serializing_if = "Option::is_none")] pub developer_portal_url: Option, #[doc = "Custom hostname configuration of the API Management service."] - #[serde(rename = "hostnameConfigurations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "hostnameConfigurations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub hostname_configurations: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard and Premium SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard and Premium SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Configuration of a virtual network to which API Management service is deployed."] #[serde(rename = "virtualNetworkConfiguration", default, skip_serializing_if = "Option::is_none")] pub virtual_network_configuration: Option, #[doc = "Additional datacenter locations of the API Management service."] - #[serde(rename = "additionalLocations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalLocations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_locations: Vec, #[doc = "Custom properties of the API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384"] #[serde(rename = "customProperties", default, skip_serializing_if = "Option::is_none")] pub custom_properties: Option, #[doc = "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificates: Vec, #[doc = "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway."] #[serde(rename = "enableClientCertificate", default, skip_serializing_if = "Option::is_none")] @@ -957,7 +1003,11 @@ impl ApiManagementServiceUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiReleaseCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1013,7 +1063,11 @@ impl ApiReleaseContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiRevisionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1102,7 +1156,11 @@ pub struct ApiTagResourceContractProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiTagResourceContractProperties { @@ -1138,7 +1196,11 @@ impl ApiVersionConstraint { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiVersionSetCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1436,7 +1498,11 @@ impl AuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AuthorizationServerCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1477,13 +1543,28 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."] - #[serde(rename = "authorizationMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "authorizationMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub authorization_methods: Vec, #[doc = "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."] - #[serde(rename = "clientAuthenticationMethod", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "clientAuthenticationMethod", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub client_authentication_method: Vec, #[doc = "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."] - #[serde(rename = "tokenBodyParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "tokenBodyParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub token_body_parameters: Vec, #[doc = "OAuth token endpoint. Contains absolute URI to entity being referenced."] #[serde(rename = "tokenEndpoint", default, skip_serializing_if = "Option::is_none")] @@ -1495,7 +1576,12 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(rename = "defaultScope", default, skip_serializing_if = "Option::is_none")] pub default_scope: Option, #[doc = "Specifies the mechanism by which access token is passed to the API. "] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, #[doc = "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."] #[serde(rename = "resourceOwnerUsername", default, skip_serializing_if = "Option::is_none")] @@ -1581,7 +1667,12 @@ pub struct AuthorizationServerUpdateContractProperties { #[serde(rename = "authorizationEndpoint", default, skip_serializing_if = "Option::is_none")] pub authorization_endpoint: Option, #[doc = "Form of an authorization grant, which the client uses to request the access token."] - #[serde(rename = "grantTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "grantTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub grant_types: Vec, #[doc = "Client or app id registered with this authorization server."] #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] @@ -1642,7 +1733,11 @@ impl BackendBaseParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCollection { #[doc = "Backend values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -1738,7 +1833,11 @@ pub mod backend_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCredentialsContract { #[doc = "List of Client Certificate Thumbprint."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate: Vec, #[doc = "Query Parameter description."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1827,10 +1926,20 @@ pub struct BackendServiceFabricClusterProperties { #[serde(rename = "managementEndpoints")] pub management_endpoints: Vec, #[doc = "Thumbprints of certificates cluster management service uses for tls communication"] - #[serde(rename = "serverCertificateThumbprints", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverCertificateThumbprints", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_certificate_thumbprints: Vec, #[doc = "Server X509 Certificate Names Collection"] - #[serde(rename = "serverX509Names", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverX509Names", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_x509_names: Vec, } impl BackendServiceFabricClusterProperties { @@ -1987,7 +2096,11 @@ impl BodyDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CacheCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2074,7 +2187,11 @@ impl CacheUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CertificateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2325,7 +2442,11 @@ impl DeployConfigurationParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2523,7 +2644,11 @@ pub mod diagnostic_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct EmailTemplateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2571,7 +2696,11 @@ pub struct EmailTemplateContractProperties { #[serde(rename = "isDefault", default, skip_serializing_if = "Option::is_none")] pub is_default: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateContractProperties { @@ -2620,7 +2749,11 @@ pub struct EmailTemplateUpdateParameterProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateUpdateParameterProperties { @@ -2686,7 +2819,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "The list of invalid fields send in request, in case of validation error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -2698,7 +2835,11 @@ impl ErrorResponseBody { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2748,7 +2889,11 @@ impl GatewayContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayHostnameConfigurationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2894,7 +3039,11 @@ impl GenerateSsoUrlResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GroupCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3157,7 +3306,11 @@ pub mod hostname_configuration { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct HttpMessageDiagnostic { #[doc = "Array of HTTP Headers to log."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Body logging settings."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3178,7 +3331,12 @@ pub struct IdentityProviderBaseParameters { #[serde(rename = "signinTenant", default, skip_serializing_if = "Option::is_none")] pub signin_tenant: Option, #[doc = "List of Allowed Tenants when configuring Azure Active Directory login."] - #[serde(rename = "allowedTenants", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedTenants", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_tenants: Vec, #[doc = "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3329,7 +3487,11 @@ impl IdentityProviderCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IdentityProviderList { #[doc = "Identity Provider configuration values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3379,7 +3541,11 @@ impl IdentityProviderUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueAttachmentCollection { #[doc = "Issue Attachment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3434,7 +3600,11 @@ impl IssueAttachmentContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCollection { #[doc = "Issue values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3455,7 +3625,11 @@ impl IssueCollection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCommentCollection { #[doc = "Issue Comment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3649,7 +3823,11 @@ impl IssueUpdateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct LoggerCollection { #[doc = "Logger values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3833,7 +4011,11 @@ pub mod logger_update_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3923,7 +4105,11 @@ impl NamedValueCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueEntityBaseParameters { #[doc = "Optional tags that when provided can be used to filter the NamedValue list."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub tags: Vec, #[doc = "Determines whether the value is a secret and should be encrypted or not. Default value is false."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4000,7 +4186,11 @@ impl NetworkStatusContractByLocation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NotificationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4074,7 +4264,12 @@ pub struct OpenIdAuthenticationSettingsContract { #[serde(rename = "openidProviderId", default, skip_serializing_if = "Option::is_none")] pub openid_provider_id: Option, #[doc = "How to send token to the server."] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, } impl OpenIdAuthenticationSettingsContract { @@ -4086,7 +4281,11 @@ impl OpenIdAuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OpenIdConnectProviderCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4232,7 +4431,11 @@ pub mod operation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4291,7 +4494,12 @@ impl OperationContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationEntityBaseContract { #[doc = "Collection of URL template parameters."] - #[serde(rename = "templateParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "templateParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub template_parameters: Vec, #[doc = "Description of the operation. May include HTML formatting tags."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4300,7 +4508,11 @@ pub struct OperationEntityBaseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub request: Option, #[doc = "Array of Operation responses."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub responses: Vec, #[doc = "Operation Policies"] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4315,7 +4527,11 @@ impl OperationEntityBaseContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4354,7 +4570,12 @@ pub struct OperationResultContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub error: Option, #[doc = "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."] - #[serde(rename = "actionLog", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "actionLog", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub action_log: Vec, } impl OperationResultContract { @@ -4474,7 +4695,11 @@ pub struct ParameterContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub required: Option, #[doc = "Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl ParameterContract { @@ -4508,7 +4733,11 @@ impl PipelineDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyCollection { #[doc = "Policy Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4604,7 +4833,11 @@ pub mod policy_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyDescriptionCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4750,7 +4983,11 @@ impl PortalSignupSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ProductCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4898,7 +5135,11 @@ impl PropertyValueContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct QuotaCounterCollection { #[doc = "Quota counter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4978,7 +5219,11 @@ impl QuotaCounterValueContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientEmailCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -5019,7 +5264,11 @@ impl RecipientEmailContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientUserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -5060,10 +5309,18 @@ impl RecipientUsersContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientsContractProperties { #[doc = "List of Emails subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub emails: Vec, #[doc = "List of Users subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub users: Vec, } impl RecipientsContractProperties { @@ -5093,7 +5350,11 @@ impl RegionContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RegionListResult { #[doc = "Lists of Regions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5129,7 +5390,11 @@ impl RegistrationDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5252,7 +5517,12 @@ pub struct RepresentationContract { #[serde(rename = "typeName", default, skip_serializing_if = "Option::is_none")] pub type_name: Option, #[doc = "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."] - #[serde(rename = "formParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "formParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub form_parameters: Vec, } impl RepresentationContract { @@ -5273,13 +5543,26 @@ pub struct RequestContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation request query parameters."] - #[serde(rename = "queryParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_parameters: Vec, #[doc = "Collection of operation request headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Collection of operation request representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, } impl RequestContract { @@ -5291,7 +5574,11 @@ impl RequestContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RequestReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5586,10 +5873,18 @@ pub struct ResponseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation response representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, #[doc = "Collection of operation response headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl ResponseContract { @@ -5686,7 +5981,11 @@ impl SaveConfigurationParameterProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SchemaCollection { #[doc = "Api Schema Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -5754,7 +6053,11 @@ impl SchemaDocumentProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SubscriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6045,7 +6348,11 @@ impl SubscriptionsDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6122,7 +6429,11 @@ impl TagDescriptionBaseProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagDescriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6186,7 +6497,11 @@ impl TagDescriptionCreateParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagResourceCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6308,7 +6623,11 @@ impl TokenBodyParameterContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6357,7 +6676,11 @@ pub struct UserContractProperties { #[serde(rename = "registrationDate", default, with = "azure_core::date::rfc3339::option")] pub registration_date: Option, #[doc = "Collection of groups user is part of."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub groups: Vec, } impl UserContractProperties { @@ -6501,7 +6824,11 @@ pub struct UserEntityBaseParameters { #[serde(default, skip_serializing_if = "Option::is_none")] pub note: Option, #[doc = "Collection of user identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub identities: Vec, } impl UserEntityBaseParameters { @@ -6566,7 +6893,11 @@ pub mod user_entity_base_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserIdentityCollection { #[doc = "User Identity values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/apimanagement/src/package_preview_2020_06/models.rs b/services/mgmt/apimanagement/src/package_preview_2020_06/models.rs index a31362c096..b490f36dec 100644 --- a/services/mgmt/apimanagement/src/package_preview_2020_06/models.rs +++ b/services/mgmt/apimanagement/src/package_preview_2020_06/models.rs @@ -7,7 +7,11 @@ use std::str::FromStr; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AccessInformationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -145,13 +149,27 @@ pub struct AdditionalLocation { #[doc = "API Management service resource SKU properties."] pub sku: ApiManagementServiceSkuProperties, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Configuration of a virtual network to which API Management service is deployed."] #[serde(rename = "virtualNetworkConfiguration", default, skip_serializing_if = "Option::is_none")] @@ -181,7 +199,11 @@ impl AdditionalLocation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -232,7 +254,11 @@ pub struct ApiContractProperties { #[doc = "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API."] pub path: String, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, #[doc = "An API Version Set contains the common configuration for a set of API Versions relating "] #[serde(rename = "apiVersionSet", default, skip_serializing_if = "Option::is_none")] @@ -266,7 +292,11 @@ pub struct ApiContractUpdateProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiContractUpdateProperties { @@ -672,25 +702,49 @@ pub struct ApiManagementServiceBaseProperties { #[serde(rename = "developerPortalUrl", default, skip_serializing_if = "Option::is_none")] pub developer_portal_url: Option, #[doc = "Custom hostname configuration of the API Management service."] - #[serde(rename = "hostnameConfigurations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "hostnameConfigurations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub hostname_configurations: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Configuration of a virtual network to which API Management service is deployed."] #[serde(rename = "virtualNetworkConfiguration", default, skip_serializing_if = "Option::is_none")] pub virtual_network_configuration: Option, #[doc = "Additional datacenter locations of the API Management service."] - #[serde(rename = "additionalLocations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalLocations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_locations: Vec, #[doc = "Custom properties of the API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384"] #[serde(rename = "customProperties", default, skip_serializing_if = "Option::is_none")] pub custom_properties: Option, #[doc = "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificates: Vec, #[doc = "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway."] #[serde(rename = "enableClientCertificate", default, skip_serializing_if = "Option::is_none")] @@ -953,7 +1007,11 @@ pub struct ApiManagementServiceResource { #[serde(default, skip_serializing_if = "Option::is_none")] pub etag: Option, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementServiceResource { @@ -1095,22 +1153,48 @@ pub struct ApiManagementSku { #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option, #[doc = "The set of locations that the SKU is available."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "A list of locations and availability zones in those locations where the SKU is available."] - #[serde(rename = "locationInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "locationInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub location_info: Vec, #[doc = "The api versions that support this SKU."] - #[serde(rename = "apiVersions", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "apiVersions", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub api_versions: Vec, #[doc = "Metadata for retrieving price info."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub costs: Vec, #[doc = "A name value pair to describe the capability."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub capabilities: Vec, #[doc = "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub restrictions: Vec, } impl ApiManagementSku { @@ -1188,10 +1272,19 @@ pub struct ApiManagementSkuLocationInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub location: Option, #[doc = "List of availability zones where the SKU is supported."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, #[doc = "Details of capabilities available to a SKU in specific zones."] - #[serde(rename = "zoneDetails", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "zoneDetails", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zone_details: Vec, } impl ApiManagementSkuLocationInfo { @@ -1202,10 +1295,18 @@ impl ApiManagementSkuLocationInfo { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiManagementSkuRestrictionInfo { #[doc = "Locations where the SKU is restricted"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "List of availability zones where the SKU is restricted."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementSkuRestrictionInfo { @@ -1220,7 +1321,11 @@ pub struct ApiManagementSkuRestrictions { #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")] pub type_: Option, #[doc = "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, #[serde(rename = "restrictionInfo", default, skip_serializing_if = "Option::is_none")] pub restriction_info: Option, @@ -1252,10 +1357,18 @@ pub mod api_management_sku_restrictions { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiManagementSkuZoneDetails { #[doc = "The set of zones that the SKU is available in with the specified capabilities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub name: Vec, #[doc = "A list of capabilities that are available for the SKU in the specified list of zones."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub capabilities: Vec, } impl ApiManagementSkuZoneDetails { @@ -1287,7 +1400,11 @@ impl ApiManagementSkusResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiReleaseCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1346,7 +1463,11 @@ impl ApiReleaseContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiRevisionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1438,7 +1559,11 @@ pub struct ApiTagResourceContractProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiTagResourceContractProperties { @@ -1474,7 +1599,11 @@ impl ApiVersionConstraint { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiVersionSetCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1775,7 +1904,11 @@ impl AuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AuthorizationServerCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1816,13 +1949,28 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."] - #[serde(rename = "authorizationMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "authorizationMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub authorization_methods: Vec, #[doc = "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."] - #[serde(rename = "clientAuthenticationMethod", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "clientAuthenticationMethod", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub client_authentication_method: Vec, #[doc = "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."] - #[serde(rename = "tokenBodyParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "tokenBodyParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub token_body_parameters: Vec, #[doc = "OAuth token endpoint. Contains absolute URI to entity being referenced."] #[serde(rename = "tokenEndpoint", default, skip_serializing_if = "Option::is_none")] @@ -1834,7 +1982,12 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(rename = "defaultScope", default, skip_serializing_if = "Option::is_none")] pub default_scope: Option, #[doc = "Specifies the mechanism by which access token is passed to the API. "] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, #[doc = "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."] #[serde(rename = "resourceOwnerUsername", default, skip_serializing_if = "Option::is_none")] @@ -1938,7 +2091,12 @@ pub struct AuthorizationServerUpdateContractProperties { #[serde(rename = "authorizationEndpoint", default, skip_serializing_if = "Option::is_none")] pub authorization_endpoint: Option, #[doc = "Form of an authorization grant, which the client uses to request the access token."] - #[serde(rename = "grantTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "grantTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub grant_types: Vec, #[doc = "Client or app id registered with this authorization server."] #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] @@ -1999,7 +2157,11 @@ impl BackendBaseParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCollection { #[doc = "Backend values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2098,10 +2260,19 @@ pub mod backend_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCredentialsContract { #[doc = "List of Client Certificate Ids."] - #[serde(rename = "certificateIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "certificateIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate_ids: Vec, #[doc = "List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate: Vec, #[doc = "Query Parameter description."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2193,10 +2364,20 @@ pub struct BackendServiceFabricClusterProperties { #[serde(rename = "managementEndpoints")] pub management_endpoints: Vec, #[doc = "Thumbprints of certificates cluster management service uses for tls communication"] - #[serde(rename = "serverCertificateThumbprints", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverCertificateThumbprints", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_certificate_thumbprints: Vec, #[doc = "Server X509 Certificate Names Collection"] - #[serde(rename = "serverX509Names", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverX509Names", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_x509_names: Vec, } impl BackendServiceFabricClusterProperties { @@ -2354,7 +2535,11 @@ impl BodyDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CacheCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2451,7 +2636,11 @@ impl CacheUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CertificateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2698,7 +2887,11 @@ pub mod connectivity_status_contract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ContentItemCollection { #[doc = "Collection of content items."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2739,7 +2932,11 @@ impl ContentItemContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ContentTypeCollection { #[doc = "Collection of content types."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2795,10 +2992,19 @@ impl ContentTypeContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DataMasking { #[doc = "Masking settings for Url query parameters"] - #[serde(rename = "queryParams", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParams", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_params: Vec, #[doc = "Masking settings for headers"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl DataMasking { @@ -2897,7 +3103,11 @@ impl DeletedServiceContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DeletedServicesCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2944,7 +3154,11 @@ impl DeployConfigurationParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3190,7 +3404,11 @@ pub mod diagnostic_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct EmailTemplateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3241,7 +3459,11 @@ pub struct EmailTemplateContractProperties { #[serde(rename = "isDefault", default, skip_serializing_if = "Option::is_none")] pub is_default: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateContractProperties { @@ -3290,7 +3512,11 @@ pub struct EmailTemplateUpdateParameterProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateUpdateParameterProperties { @@ -3356,7 +3582,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "The list of invalid fields send in request, in case of validation error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -3368,7 +3598,11 @@ impl ErrorResponseBody { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCertificateAuthorityCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3415,7 +3649,11 @@ impl GatewayCertificateAuthorityContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3468,7 +3706,11 @@ impl GatewayContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayHostnameConfigurationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3623,7 +3865,11 @@ impl GenerateSsoUrlResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GroupCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3893,7 +4139,11 @@ pub mod hostname_configuration { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct HttpMessageDiagnostic { #[doc = "Array of HTTP Headers to log."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Body logging settings."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3916,7 +4166,12 @@ pub struct IdentityProviderBaseParameters { #[serde(rename = "signinTenant", default, skip_serializing_if = "Option::is_none")] pub signin_tenant: Option, #[doc = "List of Allowed Tenants when configuring Azure Active Directory login."] - #[serde(rename = "allowedTenants", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedTenants", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_tenants: Vec, #[doc = "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4067,7 +4322,11 @@ impl IdentityProviderCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IdentityProviderList { #[doc = "Identity Provider configuration values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4120,7 +4379,11 @@ impl IdentityProviderUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueAttachmentCollection { #[doc = "Issue Attachment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4178,7 +4441,11 @@ impl IssueAttachmentContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCollection { #[doc = "Issue values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4202,7 +4469,11 @@ impl IssueCollection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCommentCollection { #[doc = "Issue Comment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4446,7 +4717,11 @@ impl KeyVaultLastAccessStatusContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct LoggerCollection { #[doc = "Logger values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4637,7 +4912,11 @@ pub mod logger_update_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4739,7 +5018,11 @@ impl NamedValueCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueEntityBaseParameters { #[doc = "Optional tags that when provided can be used to filter the NamedValue list."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub tags: Vec, #[doc = "Determines whether the value is a secret and should be encrypted or not. Default value is false."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4831,7 +5114,11 @@ impl NetworkStatusContractByLocation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NotificationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4908,7 +5195,12 @@ pub struct OpenIdAuthenticationSettingsContract { #[serde(rename = "openidProviderId", default, skip_serializing_if = "Option::is_none")] pub openid_provider_id: Option, #[doc = "How to send token to the server."] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, } impl OpenIdAuthenticationSettingsContract { @@ -4920,7 +5212,11 @@ impl OpenIdAuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OpenIdConnectProviderCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5069,7 +5365,11 @@ pub mod operation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5131,7 +5431,12 @@ impl OperationContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationEntityBaseContract { #[doc = "Collection of URL template parameters."] - #[serde(rename = "templateParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "templateParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub template_parameters: Vec, #[doc = "Description of the operation. May include HTML formatting tags."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5140,7 +5445,11 @@ pub struct OperationEntityBaseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub request: Option, #[doc = "Array of Operation responses."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub responses: Vec, #[doc = "Operation Policies"] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5155,7 +5464,11 @@ impl OperationEntityBaseContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -5194,7 +5507,12 @@ pub struct OperationResultContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub error: Option, #[doc = "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."] - #[serde(rename = "actionLog", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "actionLog", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub action_log: Vec, } impl OperationResultContract { @@ -5314,7 +5632,11 @@ pub struct ParameterContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub required: Option, #[doc = "Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, } impl ParameterContract { @@ -5348,7 +5670,11 @@ impl PipelineDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyCollection { #[doc = "Policy Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5447,7 +5773,11 @@ pub mod policy_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyDescriptionCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5526,7 +5856,11 @@ impl PortalDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalRevisionCollection { #[doc = "Collection of portal revisions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -5646,7 +5980,11 @@ impl PortalSettingValidationKeyContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalSettingsCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5757,7 +6095,11 @@ impl PortalSignupSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ProductCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5896,7 +6238,11 @@ impl ProductUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct QuotaCounterCollection { #[doc = "Quota counter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5988,7 +6334,11 @@ impl QuotaCounterValueUpdateContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientEmailCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6032,7 +6382,11 @@ impl RecipientEmailContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientUserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6076,10 +6430,18 @@ impl RecipientUsersContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientsContractProperties { #[doc = "List of Emails subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub emails: Vec, #[doc = "List of Users subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub users: Vec, } impl RecipientsContractProperties { @@ -6109,7 +6471,11 @@ impl RegionContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RegionListResult { #[doc = "Lists of Regions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6145,7 +6511,11 @@ impl RegistrationDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6268,7 +6638,12 @@ pub struct RepresentationContract { #[serde(rename = "typeName", default, skip_serializing_if = "Option::is_none")] pub type_name: Option, #[doc = "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."] - #[serde(rename = "formParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "formParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub form_parameters: Vec, } impl RepresentationContract { @@ -6289,13 +6664,26 @@ pub struct RequestContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation request query parameters."] - #[serde(rename = "queryParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_parameters: Vec, #[doc = "Collection of operation request headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Collection of operation request representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, } impl RequestContract { @@ -6307,7 +6695,11 @@ impl RequestContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RequestReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6604,10 +6996,18 @@ pub struct ResponseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation response representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, #[doc = "Collection of operation response headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl ResponseContract { @@ -6704,7 +7104,11 @@ impl SaveConfigurationParameterProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SchemaCollection { #[doc = "Api Schema Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6775,7 +7179,11 @@ impl SchemaDocumentProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SubscriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7069,7 +7477,11 @@ impl SubscriptionsDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7149,7 +7561,11 @@ impl TagDescriptionBaseProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagDescriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7216,7 +7632,11 @@ impl TagDescriptionCreateParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagResourceCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7310,7 +7730,11 @@ impl TenantConfigurationSyncStateContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TenantSettingsCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -7388,7 +7812,11 @@ impl TokenBodyParameterContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7440,7 +7868,11 @@ pub struct UserContractProperties { #[serde(rename = "registrationDate", default, with = "azure_core::date::rfc3339::option")] pub registration_date: Option, #[doc = "Collection of groups user is part of."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub groups: Vec, } impl UserContractProperties { @@ -7587,7 +8019,11 @@ pub struct UserEntityBaseParameters { #[serde(default, skip_serializing_if = "Option::is_none")] pub note: Option, #[doc = "Collection of user identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub identities: Vec, } impl UserEntityBaseParameters { @@ -7652,7 +8088,11 @@ pub mod user_entity_base_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserIdentityCollection { #[doc = "User Identity values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/apimanagement/src/package_preview_2021_01/models.rs b/services/mgmt/apimanagement/src/package_preview_2021_01/models.rs index 8daa01249c..2e3d1f0d70 100644 --- a/services/mgmt/apimanagement/src/package_preview_2021_01/models.rs +++ b/services/mgmt/apimanagement/src/package_preview_2021_01/models.rs @@ -7,7 +7,11 @@ use std::str::FromStr; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AccessInformationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -148,13 +152,27 @@ pub struct AdditionalLocation { #[doc = "API Management service resource SKU properties."] pub sku: ApiManagementServiceSkuProperties, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network."] #[serde(rename = "publicIpAddressId", default, skip_serializing_if = "Option::is_none")] @@ -188,7 +206,11 @@ impl AdditionalLocation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -257,7 +279,11 @@ pub struct ApiContractProperties { #[doc = "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API."] pub path: String, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, #[doc = "An API Version Set contains the common configuration for a set of API Versions relating "] #[serde(rename = "apiVersionSet", default, skip_serializing_if = "Option::is_none")] @@ -291,7 +317,11 @@ pub struct ApiContractUpdateProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiContractUpdateProperties { @@ -727,13 +757,28 @@ pub struct ApiManagementServiceBaseProperties { #[serde(rename = "developerPortalUrl", default, skip_serializing_if = "Option::is_none")] pub developer_portal_url: Option, #[doc = "Custom hostname configuration of the API Management service."] - #[serde(rename = "hostnameConfigurations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "hostnameConfigurations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub hostname_configurations: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network."] #[serde(rename = "publicIpAddressId", default, skip_serializing_if = "Option::is_none")] @@ -742,13 +787,22 @@ pub struct ApiManagementServiceBaseProperties { #[serde(rename = "virtualNetworkConfiguration", default, skip_serializing_if = "Option::is_none")] pub virtual_network_configuration: Option, #[doc = "Additional datacenter locations of the API Management service."] - #[serde(rename = "additionalLocations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalLocations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_locations: Vec, #[doc = "Custom properties of the API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384"] #[serde(rename = "customProperties", default, skip_serializing_if = "Option::is_none")] pub custom_properties: Option, #[doc = "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificates: Vec, #[doc = "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway."] #[serde(rename = "enableClientCertificate", default, skip_serializing_if = "Option::is_none")] @@ -1011,7 +1065,11 @@ pub struct ApiManagementServiceResource { #[serde(default, skip_serializing_if = "Option::is_none")] pub etag: Option, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementServiceResource { @@ -1106,7 +1164,11 @@ pub struct ApiManagementServiceUpdateParameters { #[serde(default, skip_serializing_if = "Option::is_none")] pub etag: Option, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementServiceUpdateParameters { @@ -1156,22 +1218,48 @@ pub struct ApiManagementSku { #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option, #[doc = "The set of locations that the SKU is available."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "A list of locations and availability zones in those locations where the SKU is available."] - #[serde(rename = "locationInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "locationInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub location_info: Vec, #[doc = "The api versions that support this SKU."] - #[serde(rename = "apiVersions", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "apiVersions", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub api_versions: Vec, #[doc = "Metadata for retrieving price info."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub costs: Vec, #[doc = "A name value pair to describe the capability."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub capabilities: Vec, #[doc = "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub restrictions: Vec, } impl ApiManagementSku { @@ -1249,10 +1337,19 @@ pub struct ApiManagementSkuLocationInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub location: Option, #[doc = "List of availability zones where the SKU is supported."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, #[doc = "Details of capabilities available to a SKU in specific zones."] - #[serde(rename = "zoneDetails", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "zoneDetails", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zone_details: Vec, } impl ApiManagementSkuLocationInfo { @@ -1263,10 +1360,18 @@ impl ApiManagementSkuLocationInfo { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiManagementSkuRestrictionInfo { #[doc = "Locations where the SKU is restricted"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "List of availability zones where the SKU is restricted."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementSkuRestrictionInfo { @@ -1281,7 +1386,11 @@ pub struct ApiManagementSkuRestrictions { #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")] pub type_: Option, #[doc = "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, #[serde(rename = "restrictionInfo", default, skip_serializing_if = "Option::is_none")] pub restriction_info: Option, @@ -1313,10 +1422,18 @@ pub mod api_management_sku_restrictions { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiManagementSkuZoneDetails { #[doc = "The set of zones that the SKU is available in with the specified capabilities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub name: Vec, #[doc = "A list of capabilities that are available for the SKU in the specified list of zones."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub capabilities: Vec, } impl ApiManagementSkuZoneDetails { @@ -1348,7 +1465,11 @@ impl ApiManagementSkusResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiReleaseCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1407,7 +1528,11 @@ impl ApiReleaseContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiRevisionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1499,7 +1624,11 @@ pub struct ApiTagResourceContractProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiTagResourceContractProperties { @@ -1535,7 +1664,11 @@ impl ApiVersionConstraint { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiVersionSetCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1836,7 +1969,11 @@ impl AuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AuthorizationServerCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1877,13 +2014,28 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."] - #[serde(rename = "authorizationMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "authorizationMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub authorization_methods: Vec, #[doc = "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."] - #[serde(rename = "clientAuthenticationMethod", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "clientAuthenticationMethod", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub client_authentication_method: Vec, #[doc = "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."] - #[serde(rename = "tokenBodyParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "tokenBodyParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub token_body_parameters: Vec, #[doc = "OAuth token endpoint. Contains absolute URI to entity being referenced."] #[serde(rename = "tokenEndpoint", default, skip_serializing_if = "Option::is_none")] @@ -1895,7 +2047,12 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(rename = "defaultScope", default, skip_serializing_if = "Option::is_none")] pub default_scope: Option, #[doc = "Specifies the mechanism by which access token is passed to the API. "] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, #[doc = "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."] #[serde(rename = "resourceOwnerUsername", default, skip_serializing_if = "Option::is_none")] @@ -1999,7 +2156,12 @@ pub struct AuthorizationServerUpdateContractProperties { #[serde(rename = "authorizationEndpoint", default, skip_serializing_if = "Option::is_none")] pub authorization_endpoint: Option, #[doc = "Form of an authorization grant, which the client uses to request the access token."] - #[serde(rename = "grantTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "grantTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub grant_types: Vec, #[doc = "Client or app id registered with this authorization server."] #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] @@ -2060,7 +2222,11 @@ impl BackendBaseParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCollection { #[doc = "Backend values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2159,10 +2325,19 @@ pub mod backend_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCredentialsContract { #[doc = "List of Client Certificate Ids."] - #[serde(rename = "certificateIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "certificateIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate_ids: Vec, #[doc = "List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate: Vec, #[doc = "Query Parameter description."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2254,10 +2429,20 @@ pub struct BackendServiceFabricClusterProperties { #[serde(rename = "managementEndpoints")] pub management_endpoints: Vec, #[doc = "Thumbprints of certificates cluster management service uses for tls communication"] - #[serde(rename = "serverCertificateThumbprints", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverCertificateThumbprints", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_certificate_thumbprints: Vec, #[doc = "Server X509 Certificate Names Collection"] - #[serde(rename = "serverX509Names", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverX509Names", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_x509_names: Vec, } impl BackendServiceFabricClusterProperties { @@ -2415,7 +2600,11 @@ impl BodyDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CacheCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2512,7 +2701,11 @@ impl CacheUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CertificateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2759,7 +2952,11 @@ pub mod connectivity_status_contract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ContentItemCollection { #[doc = "Collection of content items."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2800,7 +2997,11 @@ impl ContentItemContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ContentTypeCollection { #[doc = "Collection of content types."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -2856,10 +3057,19 @@ impl ContentTypeContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DataMasking { #[doc = "Masking settings for Url query parameters"] - #[serde(rename = "queryParams", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParams", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_params: Vec, #[doc = "Masking settings for headers"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl DataMasking { @@ -2958,7 +3168,11 @@ impl DeletedServiceContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DeletedServicesCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3005,7 +3219,11 @@ impl DeployConfigurationParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3251,7 +3469,11 @@ pub mod diagnostic_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct EmailTemplateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3302,7 +3524,11 @@ pub struct EmailTemplateContractProperties { #[serde(rename = "isDefault", default, skip_serializing_if = "Option::is_none")] pub is_default: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateContractProperties { @@ -3351,7 +3577,11 @@ pub struct EmailTemplateUpdateParameterProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateUpdateParameterProperties { @@ -3417,7 +3647,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "The list of invalid fields send in request, in case of validation error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -3429,7 +3663,11 @@ impl ErrorResponseBody { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCertificateAuthorityCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3476,7 +3714,11 @@ impl GatewayCertificateAuthorityContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3529,7 +3771,11 @@ impl GatewayContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayHostnameConfigurationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3684,7 +3930,11 @@ impl GenerateSsoUrlResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GroupCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4042,7 +4292,11 @@ pub mod hostname_configuration { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct HttpMessageDiagnostic { #[doc = "Array of HTTP Headers to log."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Body logging settings."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4065,7 +4319,12 @@ pub struct IdentityProviderBaseParameters { #[serde(rename = "signinTenant", default, skip_serializing_if = "Option::is_none")] pub signin_tenant: Option, #[doc = "List of Allowed Tenants when configuring Azure Active Directory login."] - #[serde(rename = "allowedTenants", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedTenants", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_tenants: Vec, #[doc = "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4216,7 +4475,11 @@ impl IdentityProviderCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IdentityProviderList { #[doc = "Identity Provider configuration values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4269,7 +4532,11 @@ impl IdentityProviderUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueAttachmentCollection { #[doc = "Issue Attachment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4327,7 +4594,11 @@ impl IssueAttachmentContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCollection { #[doc = "Issue values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4351,7 +4622,11 @@ impl IssueCollection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCommentCollection { #[doc = "Issue Comment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4595,7 +4870,11 @@ impl KeyVaultLastAccessStatusContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct LoggerCollection { #[doc = "Logger values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4786,7 +5065,11 @@ pub mod logger_update_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4888,7 +5171,11 @@ impl NamedValueCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueEntityBaseParameters { #[doc = "Optional tags that when provided can be used to filter the NamedValue list."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub tags: Vec, #[doc = "Determines whether the value is a secret and should be encrypted or not. Default value is false."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4980,7 +5267,11 @@ impl NetworkStatusContractByLocation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NotificationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5057,7 +5348,12 @@ pub struct OpenIdAuthenticationSettingsContract { #[serde(rename = "openidProviderId", default, skip_serializing_if = "Option::is_none")] pub openid_provider_id: Option, #[doc = "How to send token to the server."] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, } impl OpenIdAuthenticationSettingsContract { @@ -5069,7 +5365,11 @@ impl OpenIdAuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OpenIdConnectProviderCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5218,7 +5518,11 @@ pub mod operation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5280,7 +5584,12 @@ impl OperationContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationEntityBaseContract { #[doc = "Collection of URL template parameters."] - #[serde(rename = "templateParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "templateParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub template_parameters: Vec, #[doc = "Description of the operation. May include HTML formatting tags."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5289,7 +5598,11 @@ pub struct OperationEntityBaseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub request: Option, #[doc = "Array of Operation responses."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub responses: Vec, #[doc = "Operation Policies"] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5304,7 +5617,11 @@ impl OperationEntityBaseContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -5357,7 +5674,12 @@ pub struct OperationResultContractProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub error: Option, #[doc = "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."] - #[serde(rename = "actionLog", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "actionLog", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub action_log: Vec, } impl OperationResultContractProperties { @@ -5477,7 +5799,11 @@ pub struct ParameterContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub required: Option, #[doc = "Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, #[doc = "Schema identifier."] #[serde(rename = "schemaId", default, skip_serializing_if = "Option::is_none")] @@ -5552,7 +5878,11 @@ impl PipelineDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyCollection { #[doc = "Policy Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5651,7 +5981,11 @@ pub mod policy_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyDescriptionCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5730,7 +6064,11 @@ impl PortalDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalRevisionCollection { #[doc = "Collection of portal revisions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -5850,7 +6188,11 @@ impl PortalSettingValidationKeyContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalSettingsCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5961,7 +6303,11 @@ impl PortalSignupSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ProductCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6100,7 +6446,11 @@ impl ProductUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct QuotaCounterCollection { #[doc = "Quota counter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6192,7 +6542,11 @@ impl QuotaCounterValueUpdateContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientEmailCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6236,7 +6590,11 @@ impl RecipientEmailContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientUserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6280,10 +6638,18 @@ impl RecipientUsersContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientsContractProperties { #[doc = "List of Emails subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub emails: Vec, #[doc = "List of Users subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub users: Vec, } impl RecipientsContractProperties { @@ -6313,7 +6679,11 @@ impl RegionContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RegionListResult { #[doc = "Lists of Regions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6349,7 +6719,11 @@ impl RegistrationDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6469,7 +6843,12 @@ pub struct RepresentationContract { #[serde(rename = "typeName", default, skip_serializing_if = "Option::is_none")] pub type_name: Option, #[doc = "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."] - #[serde(rename = "formParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "formParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub form_parameters: Vec, } impl RepresentationContract { @@ -6489,13 +6868,26 @@ pub struct RequestContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation request query parameters."] - #[serde(rename = "queryParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_parameters: Vec, #[doc = "Collection of operation request headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Collection of operation request representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, } impl RequestContract { @@ -6507,7 +6899,11 @@ impl RequestContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RequestReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6804,10 +7200,18 @@ pub struct ResponseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation response representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, #[doc = "Collection of operation response headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl ResponseContract { @@ -6904,7 +7308,11 @@ impl SaveConfigurationParameterProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SchemaCollection { #[doc = "API Schema Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6968,7 +7376,11 @@ impl SchemaDocumentProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SubscriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7262,7 +7674,11 @@ impl SubscriptionsDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7342,7 +7758,11 @@ impl TagDescriptionBaseProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagDescriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7409,7 +7829,11 @@ impl TagDescriptionCreateParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagResourceCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7518,7 +7942,11 @@ impl TenantConfigurationSyncStateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TenantSettingsCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -7596,7 +8024,11 @@ impl TokenBodyParameterContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7648,7 +8080,11 @@ pub struct UserContractProperties { #[serde(rename = "registrationDate", default, with = "azure_core::date::rfc3339::option")] pub registration_date: Option, #[doc = "Collection of groups user is part of."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub groups: Vec, } impl UserContractProperties { @@ -7795,7 +8231,11 @@ pub struct UserEntityBaseParameters { #[serde(default, skip_serializing_if = "Option::is_none")] pub note: Option, #[doc = "Collection of user identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub identities: Vec, } impl UserEntityBaseParameters { @@ -7860,7 +8300,11 @@ pub mod user_entity_base_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserIdentityCollection { #[doc = "User Identity values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/apimanagement/src/package_preview_2021_04/models.rs b/services/mgmt/apimanagement/src/package_preview_2021_04/models.rs index 1d15ec2345..2ae6f193f0 100644 --- a/services/mgmt/apimanagement/src/package_preview_2021_04/models.rs +++ b/services/mgmt/apimanagement/src/package_preview_2021_04/models.rs @@ -7,7 +7,11 @@ use std::str::FromStr; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AccessInformationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -148,13 +152,27 @@ pub struct AdditionalLocation { #[doc = "API Management service resource SKU properties."] pub sku: ApiManagementServiceSkuProperties, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network."] #[serde(rename = "publicIpAddressId", default, skip_serializing_if = "Option::is_none")] @@ -240,7 +258,11 @@ pub mod additional_location { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -309,7 +331,11 @@ pub struct ApiContractProperties { #[doc = "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API."] pub path: String, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, #[doc = "An API Version Set contains the common configuration for a set of API Versions relating "] #[serde(rename = "apiVersionSet", default, skip_serializing_if = "Option::is_none")] @@ -343,7 +369,11 @@ pub struct ApiContractUpdateProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiContractUpdateProperties { @@ -845,13 +875,28 @@ pub struct ApiManagementServiceBaseProperties { #[serde(rename = "developerPortalUrl", default, skip_serializing_if = "Option::is_none")] pub developer_portal_url: Option, #[doc = "Custom hostname configuration of the API Management service."] - #[serde(rename = "hostnameConfigurations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "hostnameConfigurations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub hostname_configurations: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network."] #[serde(rename = "publicIpAddressId", default, skip_serializing_if = "Option::is_none")] @@ -863,13 +908,22 @@ pub struct ApiManagementServiceBaseProperties { #[serde(rename = "virtualNetworkConfiguration", default, skip_serializing_if = "Option::is_none")] pub virtual_network_configuration: Option, #[doc = "Additional datacenter locations of the API Management service."] - #[serde(rename = "additionalLocations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalLocations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_locations: Vec, #[doc = "Custom properties of the API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384"] #[serde(rename = "customProperties", default, skip_serializing_if = "Option::is_none")] pub custom_properties: Option, #[doc = "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificates: Vec, #[doc = "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway."] #[serde(rename = "enableClientCertificate", default, skip_serializing_if = "Option::is_none")] @@ -887,7 +941,12 @@ pub struct ApiManagementServiceBaseProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub restore: Option, #[doc = "List of Private Endpoint Connections of this service."] - #[serde(rename = "privateEndpointConnections", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateEndpointConnections", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_endpoint_connections: Vec, #[doc = "Compute Platform Version running the service in this location."] #[serde(rename = "platformVersion", default, skip_serializing_if = "Option::is_none")] @@ -1223,7 +1282,11 @@ pub struct ApiManagementServiceResource { #[serde(default, skip_serializing_if = "Option::is_none")] pub etag: Option, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementServiceResource { @@ -1319,7 +1382,11 @@ pub struct ApiManagementServiceUpdateParameters { #[serde(default, skip_serializing_if = "Option::is_none")] pub etag: Option, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementServiceUpdateParameters { @@ -1369,22 +1436,48 @@ pub struct ApiManagementSku { #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option, #[doc = "The set of locations that the SKU is available."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "A list of locations and availability zones in those locations where the SKU is available."] - #[serde(rename = "locationInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "locationInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub location_info: Vec, #[doc = "The api versions that support this SKU."] - #[serde(rename = "apiVersions", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "apiVersions", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub api_versions: Vec, #[doc = "Metadata for retrieving price info."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub costs: Vec, #[doc = "A name value pair to describe the capability."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub capabilities: Vec, #[doc = "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub restrictions: Vec, } impl ApiManagementSku { @@ -1462,10 +1555,19 @@ pub struct ApiManagementSkuLocationInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub location: Option, #[doc = "List of availability zones where the SKU is supported."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, #[doc = "Details of capabilities available to a SKU in specific zones."] - #[serde(rename = "zoneDetails", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "zoneDetails", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zone_details: Vec, } impl ApiManagementSkuLocationInfo { @@ -1476,10 +1578,18 @@ impl ApiManagementSkuLocationInfo { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiManagementSkuRestrictionInfo { #[doc = "Locations where the SKU is restricted"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "List of availability zones where the SKU is restricted."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementSkuRestrictionInfo { @@ -1494,7 +1604,11 @@ pub struct ApiManagementSkuRestrictions { #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")] pub type_: Option, #[doc = "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, #[serde(rename = "restrictionInfo", default, skip_serializing_if = "Option::is_none")] pub restriction_info: Option, @@ -1526,10 +1640,18 @@ pub mod api_management_sku_restrictions { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiManagementSkuZoneDetails { #[doc = "The set of zones that the SKU is available in with the specified capabilities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub name: Vec, #[doc = "A list of capabilities that are available for the SKU in the specified list of zones."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub capabilities: Vec, } impl ApiManagementSkuZoneDetails { @@ -1561,7 +1683,11 @@ impl ApiManagementSkusResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiReleaseCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1620,7 +1746,11 @@ impl ApiReleaseContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiRevisionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1698,7 +1828,11 @@ impl ApiRevisionInfoContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiSchemaCollection { #[doc = "API Schema Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1786,7 +1920,11 @@ pub struct ApiTagResourceContractProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiTagResourceContractProperties { @@ -1822,7 +1960,11 @@ impl ApiVersionConstraint { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiVersionSetCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2134,7 +2276,11 @@ impl AuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AuthorizationServerCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2175,13 +2321,28 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."] - #[serde(rename = "authorizationMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "authorizationMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub authorization_methods: Vec, #[doc = "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."] - #[serde(rename = "clientAuthenticationMethod", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "clientAuthenticationMethod", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub client_authentication_method: Vec, #[doc = "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."] - #[serde(rename = "tokenBodyParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "tokenBodyParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub token_body_parameters: Vec, #[doc = "OAuth token endpoint. Contains absolute URI to entity being referenced."] #[serde(rename = "tokenEndpoint", default, skip_serializing_if = "Option::is_none")] @@ -2193,7 +2354,12 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(rename = "defaultScope", default, skip_serializing_if = "Option::is_none")] pub default_scope: Option, #[doc = "Specifies the mechanism by which access token is passed to the API. "] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, #[doc = "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."] #[serde(rename = "resourceOwnerUsername", default, skip_serializing_if = "Option::is_none")] @@ -2297,7 +2463,12 @@ pub struct AuthorizationServerUpdateContractProperties { #[serde(rename = "authorizationEndpoint", default, skip_serializing_if = "Option::is_none")] pub authorization_endpoint: Option, #[doc = "Form of an authorization grant, which the client uses to request the access token."] - #[serde(rename = "grantTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "grantTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub grant_types: Vec, #[doc = "Client or app id registered with this authorization server."] #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] @@ -2358,7 +2529,11 @@ impl BackendBaseParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCollection { #[doc = "Backend values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2457,10 +2632,19 @@ pub mod backend_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCredentialsContract { #[doc = "List of Client Certificate Ids."] - #[serde(rename = "certificateIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "certificateIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate_ids: Vec, #[doc = "List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate: Vec, #[doc = "Query Parameter description."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2552,10 +2736,20 @@ pub struct BackendServiceFabricClusterProperties { #[serde(rename = "managementEndpoints")] pub management_endpoints: Vec, #[doc = "Thumbprints of certificates cluster management service uses for tls communication"] - #[serde(rename = "serverCertificateThumbprints", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverCertificateThumbprints", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_certificate_thumbprints: Vec, #[doc = "Server X509 Certificate Names Collection"] - #[serde(rename = "serverX509Names", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverX509Names", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_x509_names: Vec, } impl BackendServiceFabricClusterProperties { @@ -2713,7 +2907,11 @@ impl BodyDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CacheCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2810,7 +3008,11 @@ impl CacheUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CertificateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3120,10 +3322,19 @@ pub mod connectivity_check_request { #[serde(default, skip_serializing_if = "Option::is_none")] pub method: Option, #[doc = "List of HTTP status codes considered valid for the request response."] - #[serde(rename = "validStatusCodes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "validStatusCodes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub valid_status_codes: Vec, #[doc = "List of headers to be included in the request."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl HttpConfiguration { @@ -3179,7 +3390,11 @@ pub mod connectivity_check_request { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ConnectivityCheckResponse { #[doc = "List of hops between the source and the destination."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub hops: Vec, #[doc = "The connection status."] #[serde(rename = "connectionStatus", default, skip_serializing_if = "Option::is_none")] @@ -3265,10 +3480,19 @@ pub struct ConnectivityHop { #[serde(rename = "resourceId", default, skip_serializing_if = "Option::is_none")] pub resource_id: Option, #[doc = "List of next hop identifiers."] - #[serde(rename = "nextHopIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "nextHopIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub next_hop_ids: Vec, #[doc = "List of issues."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub issues: Vec, } impl ConnectivityHop { @@ -3289,7 +3513,11 @@ pub struct ConnectivityIssue { #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")] pub type_: Option, #[doc = "Provides additional context on the issue."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub context: Vec, } impl ConnectivityIssue { @@ -3519,7 +3747,11 @@ pub mod connectivity_status_contract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ContentItemCollection { #[doc = "Collection of content items."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3560,7 +3792,11 @@ impl ContentItemContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ContentTypeCollection { #[doc = "Collection of content types."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3616,10 +3852,19 @@ impl ContentTypeContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DataMasking { #[doc = "Masking settings for Url query parameters"] - #[serde(rename = "queryParams", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParams", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_params: Vec, #[doc = "Masking settings for headers"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl DataMasking { @@ -3718,7 +3963,11 @@ impl DeletedServiceContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DeletedServicesCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3765,7 +4014,11 @@ impl DeployConfigurationParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4011,7 +4264,11 @@ pub mod diagnostic_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct EmailTemplateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4062,7 +4319,11 @@ pub struct EmailTemplateContractProperties { #[serde(rename = "isDefault", default, skip_serializing_if = "Option::is_none")] pub is_default: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateContractProperties { @@ -4111,7 +4372,11 @@ pub struct EmailTemplateUpdateParameterProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateUpdateParameterProperties { @@ -4138,7 +4403,12 @@ pub struct EndpointDependency { #[serde(rename = "domainName", default, skip_serializing_if = "Option::is_none")] pub domain_name: Option, #[doc = "The Ports used when connecting to DomainName."] - #[serde(rename = "endpointDetails", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "endpointDetails", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub endpoint_details: Vec, } impl EndpointDependency { @@ -4207,7 +4477,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "The list of invalid fields send in request, in case of validation error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -4219,7 +4493,11 @@ impl ErrorResponseBody { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCertificateAuthorityCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4266,7 +4544,11 @@ impl GatewayCertificateAuthorityContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4319,7 +4601,11 @@ impl GatewayContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayHostnameConfigurationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4474,7 +4760,11 @@ impl GenerateSsoUrlResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GroupCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4845,7 +5135,11 @@ pub mod hostname_configuration { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct HttpMessageDiagnostic { #[doc = "Array of HTTP Headers to log."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Body logging settings."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4868,7 +5162,12 @@ pub struct IdentityProviderBaseParameters { #[serde(rename = "signinTenant", default, skip_serializing_if = "Option::is_none")] pub signin_tenant: Option, #[doc = "List of Allowed Tenants when configuring Azure Active Directory login."] - #[serde(rename = "allowedTenants", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedTenants", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_tenants: Vec, #[doc = "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5019,7 +5318,11 @@ impl IdentityProviderCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IdentityProviderList { #[doc = "Identity Provider configuration values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5072,7 +5375,11 @@ impl IdentityProviderUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueAttachmentCollection { #[doc = "Issue Attachment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5130,7 +5437,11 @@ impl IssueAttachmentContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCollection { #[doc = "Issue values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5154,7 +5465,11 @@ impl IssueCollection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCommentCollection { #[doc = "Issue Comment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5406,7 +5721,11 @@ impl KeyVaultLastAccessStatusContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct LoggerCollection { #[doc = "Logger values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5597,7 +5916,11 @@ pub mod logger_update_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5699,7 +6022,11 @@ impl NamedValueCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueEntityBaseParameters { #[doc = "Optional tags that when provided can be used to filter the NamedValue list."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub tags: Vec, #[doc = "Determines whether the value is a secret and should be encrypted or not. Default value is false."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5791,7 +6118,11 @@ impl NetworkStatusContractByLocation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NotificationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5868,7 +6199,12 @@ pub struct OpenIdAuthenticationSettingsContract { #[serde(rename = "openidProviderId", default, skip_serializing_if = "Option::is_none")] pub openid_provider_id: Option, #[doc = "How to send token to the server."] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, } impl OpenIdAuthenticationSettingsContract { @@ -5880,7 +6216,11 @@ impl OpenIdAuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OpenIdConnectProviderCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6029,7 +6369,11 @@ pub mod operation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6091,7 +6435,12 @@ impl OperationContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationEntityBaseContract { #[doc = "Collection of URL template parameters."] - #[serde(rename = "templateParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "templateParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub template_parameters: Vec, #[doc = "Description of the operation. May include HTML formatting tags."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6100,7 +6449,11 @@ pub struct OperationEntityBaseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub request: Option, #[doc = "Array of Operation responses."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub responses: Vec, #[doc = "Operation Policies"] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6115,7 +6468,11 @@ impl OperationEntityBaseContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6168,7 +6525,12 @@ pub struct OperationResultContractProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub error: Option, #[doc = "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."] - #[serde(rename = "actionLog", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "actionLog", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub action_log: Vec, } impl OperationResultContractProperties { @@ -6277,7 +6639,11 @@ pub struct OutboundEnvironmentEndpoint { #[serde(default, skip_serializing_if = "Option::is_none")] pub category: Option, #[doc = "The endpoints that the Api Management Service reaches the service at."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub endpoints: Vec, } impl OutboundEnvironmentEndpoint { @@ -6317,7 +6683,11 @@ pub struct ParameterContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub required: Option, #[doc = "Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, #[doc = "Schema identifier."] #[serde(rename = "schemaId", default, skip_serializing_if = "Option::is_none")] @@ -6392,7 +6762,11 @@ impl PipelineDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyCollection { #[doc = "Policy Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6491,7 +6865,11 @@ pub mod policy_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyDescriptionCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6570,7 +6948,11 @@ impl PortalDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalRevisionCollection { #[doc = "Collection of portal revisions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6690,7 +7072,11 @@ impl PortalSettingValidationKeyContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalSettingsCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6827,7 +7213,11 @@ impl PrivateEndpointConnection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateEndpointConnectionListResult { #[doc = "Array of private endpoint connections"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for PrivateEndpointConnectionListResult { @@ -6947,7 +7337,12 @@ pub struct PrivateEndpointConnectionWrapperProperties { #[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")] pub provisioning_state: Option, #[doc = "All the Group ids."] - #[serde(rename = "groupIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "groupIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub group_ids: Vec, } impl PrivateEndpointConnectionWrapperProperties { @@ -7017,7 +7412,11 @@ impl PrivateLinkResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateLinkResourceListResult { #[doc = "Array of private link resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl PrivateLinkResourceListResult { @@ -7032,10 +7431,20 @@ pub struct PrivateLinkResourceProperties { #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")] pub group_id: Option, #[doc = "The private link resource required member names."] - #[serde(rename = "requiredMembers", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "requiredMembers", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub required_members: Vec, #[doc = "The private link resource Private link DNS zone name."] - #[serde(rename = "requiredZoneNames", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "requiredZoneNames", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub required_zone_names: Vec, } impl PrivateLinkResourceProperties { @@ -7065,7 +7474,11 @@ impl PrivateLinkServiceConnectionState { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ProductCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7204,7 +7617,11 @@ impl ProductUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct QuotaCounterCollection { #[doc = "Quota counter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7296,7 +7713,11 @@ impl QuotaCounterValueUpdateContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientEmailCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7340,7 +7761,11 @@ impl RecipientEmailContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientUserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7384,10 +7809,18 @@ impl RecipientUsersContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientsContractProperties { #[doc = "List of Emails subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub emails: Vec, #[doc = "List of Users subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub users: Vec, } impl RecipientsContractProperties { @@ -7417,7 +7850,11 @@ impl RegionContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RegionListResult { #[doc = "Lists of Regions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7474,7 +7911,11 @@ impl RemotePrivateEndpointConnectionWrapper { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7594,7 +8035,12 @@ pub struct RepresentationContract { #[serde(rename = "typeName", default, skip_serializing_if = "Option::is_none")] pub type_name: Option, #[doc = "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."] - #[serde(rename = "formParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "formParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub form_parameters: Vec, #[doc = "Parameter examples."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7618,13 +8064,26 @@ pub struct RequestContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation request query parameters."] - #[serde(rename = "queryParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_parameters: Vec, #[doc = "Collection of operation request headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Collection of operation request representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, } impl RequestContract { @@ -7636,7 +8095,11 @@ impl RequestContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RequestReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7933,10 +8396,18 @@ pub struct ResponseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation response representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, #[doc = "Collection of operation response headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl ResponseContract { @@ -8033,7 +8504,11 @@ impl SaveConfigurationParameterProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SchemaCollection { #[doc = "Schema Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8147,7 +8622,11 @@ impl SchemaDocumentProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SubscriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8441,7 +8920,11 @@ impl SubscriptionsDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8521,7 +9004,11 @@ impl TagDescriptionBaseProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagDescriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8588,7 +9075,11 @@ impl TagDescriptionCreateParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagResourceCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8699,7 +9190,11 @@ impl TenantConfigurationSyncStateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TenantSettingsCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -8777,7 +9272,11 @@ impl TokenBodyParameterContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8829,7 +9328,11 @@ pub struct UserContractProperties { #[serde(rename = "registrationDate", default, with = "azure_core::date::rfc3339::option")] pub registration_date: Option, #[doc = "Collection of groups user is part of."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub groups: Vec, } impl UserContractProperties { @@ -8976,7 +9479,11 @@ pub struct UserEntityBaseParameters { #[serde(default, skip_serializing_if = "Option::is_none")] pub note: Option, #[doc = "Collection of user identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub identities: Vec, } impl UserEntityBaseParameters { @@ -9041,7 +9548,11 @@ pub mod user_entity_base_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserIdentityCollection { #[doc = "User Identity values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/apimanagement/src/package_preview_2021_12/models.rs b/services/mgmt/apimanagement/src/package_preview_2021_12/models.rs index 5bfc5dd621..316a9574e1 100644 --- a/services/mgmt/apimanagement/src/package_preview_2021_12/models.rs +++ b/services/mgmt/apimanagement/src/package_preview_2021_12/models.rs @@ -7,7 +7,11 @@ use std::str::FromStr; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AccessInformationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -148,13 +152,27 @@ pub struct AdditionalLocation { #[doc = "API Management service resource SKU properties."] pub sku: ApiManagementServiceSkuProperties, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network."] #[serde(rename = "publicIpAddressId", default, skip_serializing_if = "Option::is_none")] @@ -240,7 +258,11 @@ pub mod additional_location { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -309,7 +331,11 @@ pub struct ApiContractProperties { #[doc = "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API."] pub path: String, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, #[doc = "An API Version Set contains the common configuration for a set of API Versions relating "] #[serde(rename = "apiVersionSet", default, skip_serializing_if = "Option::is_none")] @@ -343,7 +369,11 @@ pub struct ApiContractUpdateProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiContractUpdateProperties { @@ -845,13 +875,28 @@ pub struct ApiManagementServiceBaseProperties { #[serde(rename = "developerPortalUrl", default, skip_serializing_if = "Option::is_none")] pub developer_portal_url: Option, #[doc = "Custom hostname configuration of the API Management service."] - #[serde(rename = "hostnameConfigurations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "hostnameConfigurations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub hostname_configurations: Vec, #[doc = "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "publicIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "publicIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub public_ip_addresses: Vec, #[doc = "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU."] - #[serde(rename = "privateIPAddresses", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateIPAddresses", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_ip_addresses: Vec, #[doc = "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network."] #[serde(rename = "publicIpAddressId", default, skip_serializing_if = "Option::is_none")] @@ -863,13 +908,22 @@ pub struct ApiManagementServiceBaseProperties { #[serde(rename = "virtualNetworkConfiguration", default, skip_serializing_if = "Option::is_none")] pub virtual_network_configuration: Option, #[doc = "Additional datacenter locations of the API Management service."] - #[serde(rename = "additionalLocations", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "additionalLocations", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub additional_locations: Vec, #[doc = "Custom properties of the API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384"] #[serde(rename = "customProperties", default, skip_serializing_if = "Option::is_none")] pub custom_properties: Option, #[doc = "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificates: Vec, #[doc = "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway."] #[serde(rename = "enableClientCertificate", default, skip_serializing_if = "Option::is_none")] @@ -887,7 +941,12 @@ pub struct ApiManagementServiceBaseProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub restore: Option, #[doc = "List of Private Endpoint Connections of this service."] - #[serde(rename = "privateEndpointConnections", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "privateEndpointConnections", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub private_endpoint_connections: Vec, #[doc = "Compute Platform Version running the service in this location."] #[serde(rename = "platformVersion", default, skip_serializing_if = "Option::is_none")] @@ -1223,7 +1282,11 @@ pub struct ApiManagementServiceResource { #[serde(default, skip_serializing_if = "Option::is_none")] pub etag: Option, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementServiceResource { @@ -1319,7 +1382,11 @@ pub struct ApiManagementServiceUpdateParameters { #[serde(default, skip_serializing_if = "Option::is_none")] pub etag: Option, #[doc = "A list of availability zones denoting where the resource needs to come from."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementServiceUpdateParameters { @@ -1369,22 +1436,48 @@ pub struct ApiManagementSku { #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option, #[doc = "The set of locations that the SKU is available."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "A list of locations and availability zones in those locations where the SKU is available."] - #[serde(rename = "locationInfo", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "locationInfo", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub location_info: Vec, #[doc = "The api versions that support this SKU."] - #[serde(rename = "apiVersions", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "apiVersions", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub api_versions: Vec, #[doc = "Metadata for retrieving price info."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub costs: Vec, #[doc = "A name value pair to describe the capability."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub capabilities: Vec, #[doc = "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub restrictions: Vec, } impl ApiManagementSku { @@ -1462,10 +1555,19 @@ pub struct ApiManagementSkuLocationInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub location: Option, #[doc = "List of availability zones where the SKU is supported."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, #[doc = "Details of capabilities available to a SKU in specific zones."] - #[serde(rename = "zoneDetails", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "zoneDetails", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zone_details: Vec, } impl ApiManagementSkuLocationInfo { @@ -1476,10 +1578,18 @@ impl ApiManagementSkuLocationInfo { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiManagementSkuRestrictionInfo { #[doc = "Locations where the SKU is restricted"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub locations: Vec, #[doc = "List of availability zones where the SKU is restricted."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub zones: Vec, } impl ApiManagementSkuRestrictionInfo { @@ -1494,7 +1604,11 @@ pub struct ApiManagementSkuRestrictions { #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")] pub type_: Option, #[doc = "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, #[serde(rename = "restrictionInfo", default, skip_serializing_if = "Option::is_none")] pub restriction_info: Option, @@ -1526,10 +1640,18 @@ pub mod api_management_sku_restrictions { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiManagementSkuZoneDetails { #[doc = "The set of zones that the SKU is available in with the specified capabilities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub name: Vec, #[doc = "A list of capabilities that are available for the SKU in the specified list of zones."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub capabilities: Vec, } impl ApiManagementSkuZoneDetails { @@ -1561,7 +1683,11 @@ impl ApiManagementSkusResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiReleaseCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1620,7 +1746,11 @@ impl ApiReleaseContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiRevisionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1712,7 +1842,11 @@ pub struct ApiTagResourceContractProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, #[doc = "Describes on which protocols the operations in this API can be invoked."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub protocols: Vec, } impl ApiTagResourceContractProperties { @@ -1748,7 +1882,11 @@ impl ApiVersionConstraint { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ApiVersionSetCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2060,7 +2198,11 @@ impl AuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AuthorizationServerCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2101,13 +2243,28 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."] - #[serde(rename = "authorizationMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "authorizationMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub authorization_methods: Vec, #[doc = "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."] - #[serde(rename = "clientAuthenticationMethod", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "clientAuthenticationMethod", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub client_authentication_method: Vec, #[doc = "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."] - #[serde(rename = "tokenBodyParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "tokenBodyParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub token_body_parameters: Vec, #[doc = "OAuth token endpoint. Contains absolute URI to entity being referenced."] #[serde(rename = "tokenEndpoint", default, skip_serializing_if = "Option::is_none")] @@ -2119,7 +2276,12 @@ pub struct AuthorizationServerContractBaseProperties { #[serde(rename = "defaultScope", default, skip_serializing_if = "Option::is_none")] pub default_scope: Option, #[doc = "Specifies the mechanism by which access token is passed to the API. "] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, #[doc = "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."] #[serde(rename = "resourceOwnerUsername", default, skip_serializing_if = "Option::is_none")] @@ -2223,7 +2385,12 @@ pub struct AuthorizationServerUpdateContractProperties { #[serde(rename = "authorizationEndpoint", default, skip_serializing_if = "Option::is_none")] pub authorization_endpoint: Option, #[doc = "Form of an authorization grant, which the client uses to request the access token."] - #[serde(rename = "grantTypes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "grantTypes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub grant_types: Vec, #[doc = "Client or app id registered with this authorization server."] #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] @@ -2284,7 +2451,11 @@ impl BackendBaseParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCollection { #[doc = "Backend values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2383,10 +2554,19 @@ pub mod backend_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct BackendCredentialsContract { #[doc = "List of Client Certificate Ids."] - #[serde(rename = "certificateIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "certificateIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate_ids: Vec, #[doc = "List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub certificate: Vec, #[doc = "Query Parameter description."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2478,10 +2658,20 @@ pub struct BackendServiceFabricClusterProperties { #[serde(rename = "managementEndpoints")] pub management_endpoints: Vec, #[doc = "Thumbprints of certificates cluster management service uses for tls communication"] - #[serde(rename = "serverCertificateThumbprints", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverCertificateThumbprints", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_certificate_thumbprints: Vec, #[doc = "Server X509 Certificate Names Collection"] - #[serde(rename = "serverX509Names", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "serverX509Names", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub server_x509_names: Vec, } impl BackendServiceFabricClusterProperties { @@ -2639,7 +2829,11 @@ impl BodyDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CacheCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -2736,7 +2930,11 @@ impl CacheUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct CertificateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3046,10 +3244,19 @@ pub mod connectivity_check_request { #[serde(default, skip_serializing_if = "Option::is_none")] pub method: Option, #[doc = "List of HTTP status codes considered valid for the request response."] - #[serde(rename = "validStatusCodes", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "validStatusCodes", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub valid_status_codes: Vec, #[doc = "List of headers to be included in the request."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl HttpConfiguration { @@ -3105,7 +3312,11 @@ pub mod connectivity_check_request { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ConnectivityCheckResponse { #[doc = "List of hops between the source and the destination."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub hops: Vec, #[doc = "The connection status."] #[serde(rename = "connectionStatus", default, skip_serializing_if = "Option::is_none")] @@ -3191,10 +3402,19 @@ pub struct ConnectivityHop { #[serde(rename = "resourceId", default, skip_serializing_if = "Option::is_none")] pub resource_id: Option, #[doc = "List of next hop identifiers."] - #[serde(rename = "nextHopIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "nextHopIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub next_hop_ids: Vec, #[doc = "List of issues."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub issues: Vec, } impl ConnectivityHop { @@ -3215,7 +3435,11 @@ pub struct ConnectivityIssue { #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")] pub type_: Option, #[doc = "Provides additional context on the issue."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub context: Vec, } impl ConnectivityIssue { @@ -3445,7 +3669,11 @@ pub mod connectivity_status_contract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ContentItemCollection { #[doc = "Collection of content items."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3486,7 +3714,11 @@ impl ContentItemContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ContentTypeCollection { #[doc = "Collection of content types."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3542,10 +3774,19 @@ impl ContentTypeContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DataMasking { #[doc = "Masking settings for Url query parameters"] - #[serde(rename = "queryParams", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParams", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_params: Vec, #[doc = "Masking settings for headers"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl DataMasking { @@ -3644,7 +3885,11 @@ impl DeletedServiceContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DeletedServicesCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -3691,7 +3936,11 @@ impl DeployConfigurationParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct DiagnosticCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3937,7 +4186,11 @@ pub mod diagnostic_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct EmailTemplateCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3988,7 +4241,11 @@ pub struct EmailTemplateContractProperties { #[serde(rename = "isDefault", default, skip_serializing_if = "Option::is_none")] pub is_default: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateContractProperties { @@ -4037,7 +4294,11 @@ pub struct EmailTemplateUpdateParameterProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[doc = "Email Template Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub parameters: Vec, } impl EmailTemplateUpdateParameterProperties { @@ -4064,7 +4325,12 @@ pub struct EndpointDependency { #[serde(rename = "domainName", default, skip_serializing_if = "Option::is_none")] pub domain_name: Option, #[doc = "The Ports used when connecting to DomainName."] - #[serde(rename = "endpointDetails", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "endpointDetails", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub endpoint_details: Vec, } impl EndpointDependency { @@ -4133,7 +4399,11 @@ pub struct ErrorResponseBody { #[serde(default, skip_serializing_if = "Option::is_none")] pub message: Option, #[doc = "The list of invalid fields send in request, in case of validation error."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub details: Vec, } impl ErrorResponseBody { @@ -4145,7 +4415,11 @@ impl ErrorResponseBody { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCertificateAuthorityCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4192,7 +4466,11 @@ impl GatewayCertificateAuthorityContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4245,7 +4523,11 @@ impl GatewayContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GatewayHostnameConfigurationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -4400,7 +4682,11 @@ impl GenerateSsoUrlResult { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GlobalSchemaCollection { #[doc = "Global Schema Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4514,7 +4800,11 @@ impl GlobalSchemaDocumentProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct GroupCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4885,7 +5175,11 @@ pub mod hostname_configuration { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct HttpMessageDiagnostic { #[doc = "Array of HTTP Headers to log."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Body logging settings."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -4908,7 +5202,12 @@ pub struct IdentityProviderBaseParameters { #[serde(rename = "signinTenant", default, skip_serializing_if = "Option::is_none")] pub signin_tenant: Option, #[doc = "List of Allowed Tenants when configuring Azure Active Directory login."] - #[serde(rename = "allowedTenants", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedTenants", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_tenants: Vec, #[doc = "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5062,7 +5361,11 @@ impl IdentityProviderCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IdentityProviderList { #[doc = "Identity Provider configuration values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5115,7 +5418,11 @@ impl IdentityProviderUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueAttachmentCollection { #[doc = "Issue Attachment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5173,7 +5480,11 @@ impl IssueAttachmentContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCollection { #[doc = "Issue values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5197,7 +5508,11 @@ impl IssueCollection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct IssueCommentCollection { #[doc = "Issue Comment values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5449,7 +5764,11 @@ impl KeyVaultLastAccessStatusContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct LoggerCollection { #[doc = "Logger values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5640,7 +5959,11 @@ pub mod logger_update_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5742,7 +6065,11 @@ impl NamedValueCreateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NamedValueEntityBaseParameters { #[doc = "Optional tags that when provided can be used to filter the NamedValue list."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub tags: Vec, #[doc = "Determines whether the value is a secret and should be encrypted or not. Default value is false."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5834,7 +6161,11 @@ impl NetworkStatusContractByLocation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct NotificationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -5911,7 +6242,12 @@ pub struct OpenIdAuthenticationSettingsContract { #[serde(rename = "openidProviderId", default, skip_serializing_if = "Option::is_none")] pub openid_provider_id: Option, #[doc = "How to send token to the server."] - #[serde(rename = "bearerTokenSendingMethods", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "bearerTokenSendingMethods", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub bearer_token_sending_methods: Vec, } impl OpenIdAuthenticationSettingsContract { @@ -5923,7 +6259,11 @@ impl OpenIdAuthenticationSettingsContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OpenIdConnectProviderCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6072,7 +6412,11 @@ pub mod operation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6134,7 +6478,12 @@ impl OperationContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationEntityBaseContract { #[doc = "Collection of URL template parameters."] - #[serde(rename = "templateParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "templateParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub template_parameters: Vec, #[doc = "Description of the operation. May include HTML formatting tags."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6143,7 +6492,11 @@ pub struct OperationEntityBaseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub request: Option, #[doc = "Array of Operation responses."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub responses: Vec, #[doc = "Operation Policies"] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6158,7 +6511,11 @@ impl OperationEntityBaseContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct OperationListResult { #[doc = "List of operations supported by the resource provider."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL to get the next set of operation list results if there are any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6211,7 +6568,12 @@ pub struct OperationResultContractProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub error: Option, #[doc = "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."] - #[serde(rename = "actionLog", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "actionLog", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub action_log: Vec, } impl OperationResultContractProperties { @@ -6320,7 +6682,11 @@ pub struct OutboundEnvironmentEndpoint { #[serde(default, skip_serializing_if = "Option::is_none")] pub category: Option, #[doc = "The endpoints that the Api Management Service reaches the service at."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub endpoints: Vec, } impl OutboundEnvironmentEndpoint { @@ -6360,7 +6726,11 @@ pub struct ParameterContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub required: Option, #[doc = "Parameter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub values: Vec, #[doc = "Schema identifier."] #[serde(rename = "schemaId", default, skip_serializing_if = "Option::is_none")] @@ -6435,7 +6805,11 @@ impl PipelineDiagnosticSettings { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyCollection { #[doc = "Policy Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6534,7 +6908,11 @@ pub mod policy_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyDescriptionCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6578,7 +6956,11 @@ impl PolicyDescriptionContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PolicyFragmentCollection { #[doc = "Policy fragment contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -6678,7 +7060,11 @@ pub mod policy_fragment_contract_properties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalConfigCollection { #[doc = "The developer portal configurations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -6707,7 +7093,12 @@ impl PortalConfigContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalConfigCorsProperties { #[doc = "Allowed origins, e.g. `https://trusted.com`."] - #[serde(rename = "allowedOrigins", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedOrigins", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_origins: Vec, } impl PortalConfigCorsProperties { @@ -6722,10 +7113,20 @@ pub struct PortalConfigCspProperties { #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, #[doc = "The URLs used by the browser to report CSP violations."] - #[serde(rename = "reportUri", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "reportUri", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub report_uri: Vec, #[doc = "Allowed sources, e.g. `*.trusted.com`, `trusted.com`, `https://`."] - #[serde(rename = "allowedSources", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedSources", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_sources: Vec, } impl PortalConfigCspProperties { @@ -6906,7 +7307,11 @@ impl PortalDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalRevisionCollection { #[doc = "Collection of portal revisions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link, if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -7026,7 +7431,11 @@ impl PortalSettingValidationKeyContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PortalSettingsCollection { #[doc = "Descriptions of APIM policies."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7163,7 +7572,11 @@ impl PrivateEndpointConnection { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateEndpointConnectionListResult { #[doc = "Array of private endpoint connections"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl azure_core::Continuable for PrivateEndpointConnectionListResult { @@ -7283,7 +7696,12 @@ pub struct PrivateEndpointConnectionWrapperProperties { #[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")] pub provisioning_state: Option, #[doc = "All the Group ids."] - #[serde(rename = "groupIds", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "groupIds", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub group_ids: Vec, } impl PrivateEndpointConnectionWrapperProperties { @@ -7353,7 +7771,11 @@ impl PrivateLinkResource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct PrivateLinkResourceListResult { #[doc = "Array of private link resources"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, } impl PrivateLinkResourceListResult { @@ -7368,10 +7790,20 @@ pub struct PrivateLinkResourceProperties { #[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")] pub group_id: Option, #[doc = "The private link resource required member names."] - #[serde(rename = "requiredMembers", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "requiredMembers", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub required_members: Vec, #[doc = "The private link resource Private link DNS zone name."] - #[serde(rename = "requiredZoneNames", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "requiredZoneNames", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub required_zone_names: Vec, } impl PrivateLinkResourceProperties { @@ -7401,7 +7833,11 @@ impl PrivateLinkServiceConnectionState { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ProductCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7540,7 +7976,11 @@ impl ProductUpdateProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct QuotaCounterCollection { #[doc = "Quota counter values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7632,7 +8072,11 @@ impl QuotaCounterValueUpdateContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientEmailCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7676,7 +8120,11 @@ impl RecipientEmailContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientUserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7720,10 +8168,18 @@ impl RecipientUsersContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RecipientsContractProperties { #[doc = "List of Emails subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub emails: Vec, #[doc = "List of Users subscribed for the notification."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub users: Vec, } impl RecipientsContractProperties { @@ -7753,7 +8209,11 @@ impl RegionContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RegionListResult { #[doc = "Lists of Regions."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7810,7 +8270,11 @@ impl RemotePrivateEndpointConnectionWrapper { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7930,7 +8394,12 @@ pub struct RepresentationContract { #[serde(rename = "typeName", default, skip_serializing_if = "Option::is_none")] pub type_name: Option, #[doc = "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."] - #[serde(rename = "formParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "formParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub form_parameters: Vec, #[doc = "Parameter examples."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7954,13 +8423,26 @@ pub struct RequestContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation request query parameters."] - #[serde(rename = "queryParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "queryParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub query_parameters: Vec, #[doc = "Collection of operation request headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, #[doc = "Collection of operation request representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, } impl RequestContract { @@ -7972,7 +8454,11 @@ impl RequestContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct RequestReportCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8074,7 +8560,11 @@ impl Resource { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct ResourceCollection { #[doc = "A collection of resources."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8287,10 +8777,18 @@ pub struct ResponseContract { #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, #[doc = "Collection of operation response representations."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub representations: Vec, #[doc = "Collection of operation response headers."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub headers: Vec, } impl ResponseContract { @@ -8387,7 +8885,11 @@ impl SaveConfigurationParameterProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SchemaCollection { #[doc = "API Schema Contract value."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8461,7 +8963,11 @@ impl SchemaDocumentProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct SubscriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8755,7 +9261,11 @@ impl SubscriptionsDelegationSettingsProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8835,7 +9345,11 @@ impl TagDescriptionBaseProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagDescriptionCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8902,7 +9416,11 @@ impl TagDescriptionCreateParameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TagResourceCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -9013,7 +9531,11 @@ impl TenantConfigurationSyncStateContractProperties { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct TenantSettingsCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Next page link if any."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -9091,7 +9613,11 @@ impl TokenBodyParameterContract { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserCollection { #[doc = "Page values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -9143,7 +9669,11 @@ pub struct UserContractProperties { #[serde(rename = "registrationDate", default, with = "azure_core::date::rfc3339::option")] pub registration_date: Option, #[doc = "Collection of groups user is part of."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub groups: Vec, } impl UserContractProperties { @@ -9290,7 +9820,11 @@ pub struct UserEntityBaseParameters { #[serde(default, skip_serializing_if = "Option::is_none")] pub note: Option, #[doc = "Collection of user identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub identities: Vec, } impl UserEntityBaseParameters { @@ -9355,7 +9889,11 @@ pub mod user_entity_base_parameters { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct UserIdentityCollection { #[doc = "User Identity values."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "Total record count number across all pages."] #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/services/mgmt/app/src/package_2022_01_01_preview/models.rs b/services/mgmt/app/src/package_2022_01_01_preview/models.rs index ca533d9397..217bea3875 100644 --- a/services/mgmt/app/src/package_2022_01_01_preview/models.rs +++ b/services/mgmt/app/src/package_2022_01_01_preview/models.rs @@ -7,7 +7,12 @@ use std::str::FromStr; #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AllowedAudiencesValidation { #[doc = "The configuration settings of the allowed list of audiences from which to validate the JWT token."] - #[serde(rename = "allowedAudiences", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedAudiences", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_audiences: Vec, } impl AllowedAudiencesValidation { @@ -19,10 +24,18 @@ impl AllowedAudiencesValidation { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AllowedPrincipals { #[doc = "The list of the allowed groups."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub groups: Vec, #[doc = "The list of the allowed identities."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub identities: Vec, } impl AllowedPrincipals { @@ -173,7 +186,11 @@ impl AuthPlatform { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AvailableOperations { #[doc = "Collection of available operation details"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub value: Vec, #[doc = "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."] #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] @@ -218,7 +235,12 @@ impl AzureActiveDirectory { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct AzureActiveDirectoryLogin { #[doc = "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\"."] - #[serde(rename = "loginParameters", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "loginParameters", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub login_parameters: Vec, #[doc = "true if the www-authenticate provider should be omitted from the request; otherwise, false."] #[serde(rename = "disableWWWAuthenticate", default, skip_serializing_if = "Option::is_none")] @@ -267,7 +289,12 @@ pub struct AzureActiveDirectoryValidation { #[serde(rename = "jwtClaimChecks", default, skip_serializing_if = "Option::is_none")] pub jwt_claim_checks: Option, #[doc = "The list of audiences that can make successful authentication/authorization requests."] - #[serde(rename = "allowedAudiences", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "allowedAudiences", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub allowed_audiences: Vec, #[doc = "The configuration settings of the Azure Active Directory default authorization policy."] #[serde(rename = "defaultAuthorizationPolicy", default, skip_serializing_if = "Option::is_none")] @@ -543,7 +570,11 @@ impl ClientRegistration { #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Configuration { #[doc = "Collection of secrets used by a Container app"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub secrets: Vec, #[doc = "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active. If no value if provided, this is the defaultSingle: Only one revision can be active at a time. Revision weights can not be used in this mode"] #[serde(rename = "activeRevisionsMode", default, skip_serializing_if = "Option::is_none")] @@ -552,7 +583,11 @@ pub struct Configuration { #[serde(default, skip_serializing_if = "Option::is_none")] pub ingress: Option, #[doc = "Collection of private container registry credentials for containers used by the Container app"] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub registries: Vec, #[doc = "Container App Dapr configuration."] #[serde(default, skip_serializing_if = "Option::is_none")] @@ -613,22 +648,43 @@ pub struct Container { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[doc = "Container start command."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub command: Vec, #[doc = "Container start command arguments."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub args: Vec, #[doc = "Container environment variables."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub env: Vec, #[doc = "Container App container resource requirements."] #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, #[doc = "List of probes for the container."] - #[serde(default, skip_serializing_if = "Vec::is_empty")] + #[serde( + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub probes: Vec, #[doc = "Container volume mounts."] - #[serde(rename = "volumeMounts", default, skip_serializing_if = "Vec::is_empty")] + #[serde( + rename = "volumeMounts", + default, + deserialize_with = "azure_core::util::deserialize_null_as_default", + skip_serializing_if = "Vec::is_empty" + )] pub volume_mounts: Vec, } impl Container { @@ -684,7 +740,12 @@ pub mod container_app { #[serde(default, skip_serializing_if = "Option::is_none")] pub template: Option