diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/CHANGELOG.md b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/CHANGELOG.md index 887cbfd900f2..70457396984e 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/CHANGELOG.md +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/CHANGELOG.md @@ -1,16 +1,12 @@ # Release History -## 1.2.0-beta.1 (Unreleased) +## 1.2.0-beta.1 (2024-04-17) ### Features Added - Enable the new model serialization by using the System.ClientModel, refer this [document](https://aka.ms/azsdk/net/mrw) for more details. +- Enable Bicep serialization. -### Breaking Changes - -### Bugs Fixed - -### Other Changes ## 1.1.0 (2023-11-30) diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Internal/BicepSerializationHelpers.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Internal/BicepSerializationHelpers.cs new file mode 100644 index 000000000000..9ac4f75b1ee0 --- /dev/null +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Internal/BicepSerializationHelpers.cs @@ -0,0 +1,58 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text; + +namespace Azure.ResourceManager.WebPubSub +{ + internal static class BicepSerializationHelpers + { + public static void AppendChildObject(StringBuilder stringBuilder, object childObject, ModelReaderWriterOptions options, int spaces, bool indentFirstLine, string formattedPropertyName) + { + string indent = new string(' ', spaces); + int emptyObjectLength = 2 + spaces + Environment.NewLine.Length + Environment.NewLine.Length; + int length = stringBuilder.Length; + bool inMultilineString = false; + + BinaryData data = ModelReaderWriter.Write(childObject, options); + string[] lines = data.ToString().Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); + for (int i = 0; i < lines.Length; i++) + { + string line = lines[i]; + if (inMultilineString) + { + if (line.Contains("'''")) + { + inMultilineString = false; + } + stringBuilder.AppendLine(line); + continue; + } + if (line.Contains("'''")) + { + inMultilineString = true; + stringBuilder.AppendLine($"{indent}{line}"); + continue; + } + if (i == 0 && !indentFirstLine) + { + stringBuilder.AppendLine($"{line}"); + } + else + { + stringBuilder.AppendLine($"{indent}{line}"); + } + } + if (stringBuilder.Length == length + emptyObjectLength) + { + stringBuilder.Length = stringBuilder.Length - emptyObjectLength - formattedPropertyName.Length; + } + } + } +} diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Internal/WirePathAttribute.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Internal/WirePathAttribute.cs new file mode 100644 index 000000000000..1a52c6b95dee --- /dev/null +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Internal/WirePathAttribute.cs @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; + +namespace Azure.ResourceManager.WebPubSub +{ + [AttributeUsage(AttributeTargets.Property)] + internal class WirePathAttribute : Attribute + { + private string _wirePath; + + public WirePathAttribute(string wirePath) + { + _wirePath = wirePath; + } + + public override string ToString() + { + return _wirePath; + } + } +} diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/BillingInfoSku.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/BillingInfoSku.Serialization.cs index 158b6c09bb16..0577fb71cb0b 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/BillingInfoSku.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/BillingInfoSku.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -143,6 +144,115 @@ internal static BillingInfoSku DeserializeBillingInfoSku(JsonElement element, Mo serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Tier), out propertyOverride); + if (Optional.IsDefined(Tier) || hasPropertyOverride) + { + builder.Append(" tier: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Tier.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Size), out propertyOverride); + if (Optional.IsDefined(Size) || hasPropertyOverride) + { + builder.Append(" size: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Size.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Size}'''"); + } + else + { + builder.AppendLine($"'{Size}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Family), out propertyOverride); + if (Optional.IsDefined(Family) || hasPropertyOverride) + { + builder.Append(" family: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Family.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Family}'''"); + } + else + { + builder.AppendLine($"'{Family}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Capacity), out propertyOverride); + if (Optional.IsDefined(Capacity) || hasPropertyOverride) + { + builder.Append(" capacity: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"{Capacity.Value}"); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -151,6 +261,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions opti { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(BillingInfoSku)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/BillingInfoSku.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/BillingInfoSku.cs index ba809c5235c2..714d107bd247 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/BillingInfoSku.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/BillingInfoSku.cs @@ -100,16 +100,20 @@ internal BillingInfoSku() /// /// Allowed values: Standard_S1, Free_F1 /// + [WirePath("name")] public string Name { get; set; } /// /// Optional tier of this particular SKU. 'Standard' or 'Free'. /// /// `Basic` is deprecated, use `Standard` instead. /// + [WirePath("tier")] public WebPubSubSkuTier? Tier { get; set; } /// Not used. Retained for future use. + [WirePath("size")] public string Size { get; } /// Not used. Retained for future use. + [WirePath("family")] public string Family { get; } /// /// Optional, integer. The unit count of the resource. 1 by default. @@ -118,6 +122,7 @@ internal BillingInfoSku() /// Free: 1 /// Standard: 1,2,5,10,20,50,100 /// + [WirePath("capacity")] public int? Capacity { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/LiveTraceCategory.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/LiveTraceCategory.Serialization.cs index b3ee3757a8d8..480de888f603 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/LiveTraceCategory.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/LiveTraceCategory.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -99,6 +100,65 @@ internal static LiveTraceCategory DeserializeLiveTraceCategory(JsonElement eleme return new LiveTraceCategory(name, enabled, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Enabled), out propertyOverride); + if (Optional.IsDefined(Enabled) || hasPropertyOverride) + { + builder.Append(" enabled: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Enabled.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Enabled}'''"); + } + else + { + builder.AppendLine($"'{Enabled}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -107,6 +167,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions o { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(LiveTraceCategory)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/LiveTraceConfiguration.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/LiveTraceConfiguration.Serialization.cs index 7ba7fa19eeb5..b6a79a914a9b 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/LiveTraceConfiguration.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/LiveTraceConfiguration.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static LiveTraceConfiguration DeserializeLiveTraceConfiguration(JsonEle return new LiveTraceConfiguration(enabled, categories ?? new ChangeTrackingList(), serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Enabled), out propertyOverride); + if (Optional.IsDefined(Enabled) || hasPropertyOverride) + { + builder.Append(" enabled: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Enabled.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Enabled}'''"); + } + else + { + builder.AppendLine($"'{Enabled}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Categories), out propertyOverride); + if (Optional.IsCollectionDefined(Categories) || hasPropertyOverride) + { + if (Categories.Any() || hasPropertyOverride) + { + builder.Append(" categories: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Categories) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " categories: "); + } + builder.AppendLine(" ]"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOpti { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(LiveTraceConfiguration)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ManagedIdentitySettings.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ManagedIdentitySettings.Serialization.cs index 3e83e4224ae4..bc20f4c1f05b 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ManagedIdentitySettings.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ManagedIdentitySettings.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -88,6 +89,43 @@ internal static ManagedIdentitySettings DeserializeManagedIdentitySettings(JsonE return new ManagedIdentitySettings(resource, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Resource), out propertyOverride); + if (Optional.IsDefined(Resource) || hasPropertyOverride) + { + builder.Append(" resource: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Resource.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Resource}'''"); + } + else + { + builder.AppendLine($"'{Resource}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -96,6 +134,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOpt { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(ManagedIdentitySettings)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ManagedIdentitySettings.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ManagedIdentitySettings.cs index 30eb67977ecd..eee0f4e58299 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ManagedIdentitySettings.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ManagedIdentitySettings.cs @@ -66,6 +66,7 @@ internal ManagedIdentitySettings(string resource, IDictionary + [WirePath("resource")] public string Resource { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpoint.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpoint.Serialization.cs index c6b929d6cda1..93e49cd79169 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpoint.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpoint.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -92,6 +93,35 @@ internal static PrivateEndpoint DeserializePrivateEndpoint(JsonElement element, return new PrivateEndpoint(id, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Id), out propertyOverride); + if (Optional.IsDefined(Id) || hasPropertyOverride) + { + builder.Append(" id: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Id.ToString()}'"); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -100,6 +130,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions opt { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(PrivateEndpoint)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpoint.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpoint.cs index 6d80a4338023..9582208bc3a9 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpoint.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpoint.cs @@ -61,6 +61,7 @@ internal PrivateEndpoint(ResourceIdentifier id, IDictionary } /// Full qualified Id of the private endpoint. + [WirePath("id")] public ResourceIdentifier Id { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointAcl.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointAcl.Serialization.cs index 326ac7981e54..79f52c005660 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointAcl.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointAcl.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -135,6 +137,87 @@ internal static PrivateEndpointAcl DeserializePrivateEndpointAcl(JsonElement ele return new PrivateEndpointAcl(allow ?? new ChangeTrackingList(), deny ?? new ChangeTrackingList(), serializedAdditionalRawData, name); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Allow), out propertyOverride); + if (Optional.IsCollectionDefined(Allow) || hasPropertyOverride) + { + if (Allow.Any() || hasPropertyOverride) + { + builder.Append(" allow: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Allow) + { + builder.AppendLine($" '{item.ToString()}'"); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Deny), out propertyOverride); + if (Optional.IsCollectionDefined(Deny) || hasPropertyOverride) + { + if (Deny.Any() || hasPropertyOverride) + { + builder.Append(" deny: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Deny) + { + builder.AppendLine($" '{item.ToString()}'"); + } + builder.AppendLine(" ]"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -143,6 +226,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(PrivateEndpointAcl)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointAcl.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointAcl.cs index fca5ae5df00f..94fdd94cfb05 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointAcl.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointAcl.cs @@ -39,6 +39,7 @@ internal PrivateEndpointAcl() } /// Name of the private endpoint connection. + [WirePath("name")] public string Name { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointConnectionList.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointConnectionList.Serialization.cs index e092ca677778..895cb1e415f6 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointConnectionList.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateEndpointConnectionList.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static PrivateEndpointConnectionList DeserializePrivateEndpointConnecti return new PrivateEndpointConnectionList(value ?? new ChangeTrackingList(), nextLink, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Value), out propertyOverride); + if (Optional.IsCollectionDefined(Value) || hasPropertyOverride) + { + if (Value.Any() || hasPropertyOverride) + { + builder.Append(" value: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Value) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " value: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NextLink), out propertyOverride); + if (Optional.IsDefined(NextLink) || hasPropertyOverride) + { + builder.Append(" nextLink: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (NextLink.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{NextLink}'''"); + } + else + { + builder.AppendLine($"'{NextLink}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWri { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(PrivateEndpointConnectionList)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateLinkResourceList.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateLinkResourceList.Serialization.cs index 87256e022327..26abf6982a50 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateLinkResourceList.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PrivateLinkResourceList.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static PrivateLinkResourceList DeserializePrivateLinkResourceList(JsonE return new PrivateLinkResourceList(value ?? new ChangeTrackingList(), nextLink, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Value), out propertyOverride); + if (Optional.IsCollectionDefined(Value) || hasPropertyOverride) + { + if (Value.Any() || hasPropertyOverride) + { + builder.Append(" value: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Value) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " value: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NextLink), out propertyOverride); + if (Optional.IsDefined(NextLink) || hasPropertyOverride) + { + builder.Append(" nextLink: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (NextLink.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{NextLink}'''"); + } + else + { + builder.AppendLine($"'{NextLink}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOpt { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(PrivateLinkResourceList)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PublicNetworkAcls.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PublicNetworkAcls.Serialization.cs index 0f559bd9c9ad..4f20a1ce958a 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PublicNetworkAcls.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PublicNetworkAcls.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -127,6 +129,65 @@ internal static PublicNetworkAcls DeserializePublicNetworkAcls(JsonElement eleme return new PublicNetworkAcls(allow ?? new ChangeTrackingList(), deny ?? new ChangeTrackingList(), serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Allow), out propertyOverride); + if (Optional.IsCollectionDefined(Allow) || hasPropertyOverride) + { + if (Allow.Any() || hasPropertyOverride) + { + builder.Append(" allow: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Allow) + { + builder.AppendLine($" '{item.ToString()}'"); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Deny), out propertyOverride); + if (Optional.IsCollectionDefined(Deny) || hasPropertyOverride) + { + if (Deny.Any() || hasPropertyOverride) + { + builder.Append(" deny: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Deny) + { + builder.AppendLine($" '{item.ToString()}'"); + } + builder.AppendLine(" ]"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -135,6 +196,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions o { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(PublicNetworkAcls)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PublicNetworkAcls.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PublicNetworkAcls.cs index 6b10db87e982..1f489303ac55 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PublicNetworkAcls.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/PublicNetworkAcls.cs @@ -64,8 +64,10 @@ internal PublicNetworkAcls(IList allow, IList Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. + [WirePath("allow")] public IList Allow { get; } /// Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI. + [WirePath("deny")] public IList Deny { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogCategory.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogCategory.Serialization.cs index 921e4facd32e..039266c35906 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogCategory.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogCategory.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -99,6 +100,65 @@ internal static ResourceLogCategory DeserializeResourceLogCategory(JsonElement e return new ResourceLogCategory(name, enabled, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Enabled), out propertyOverride); + if (Optional.IsDefined(Enabled) || hasPropertyOverride) + { + builder.Append(" enabled: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Enabled.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Enabled}'''"); + } + else + { + builder.AppendLine($"'{Enabled}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -107,6 +167,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(ResourceLogCategory)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogCategory.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogCategory.cs index 13ccb537275f..ab00b0cf8fb6 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogCategory.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogCategory.cs @@ -74,12 +74,14 @@ internal ResourceLogCategory(string name, string enabled, IDictionary + [WirePath("name")] public string Name { get; set; } /// /// Indicates whether or the resource log category is enabled. /// Available values: true, false. /// Case insensitive. /// + [WirePath("enabled")] public string Enabled { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogConfiguration.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogConfiguration.Serialization.cs index edbae821d94e..715e01ed5a48 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogConfiguration.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogConfiguration.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -102,6 +104,43 @@ internal static ResourceLogConfiguration DeserializeResourceLogConfiguration(Jso return new ResourceLogConfiguration(categories ?? new ChangeTrackingList(), serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Categories), out propertyOverride); + if (Optional.IsCollectionDefined(Categories) || hasPropertyOverride) + { + if (Categories.Any() || hasPropertyOverride) + { + builder.Append(" categories: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Categories) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " categories: "); + } + builder.AppendLine(" ]"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -110,6 +149,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOp { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(ResourceLogConfiguration)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogConfiguration.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogConfiguration.cs index 1a3dcca34965..716daea5698e 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogConfiguration.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ResourceLogConfiguration.cs @@ -61,6 +61,7 @@ internal ResourceLogConfiguration(IList categories, IDictio } /// Gets or sets the list of category configurations. + [WirePath("categories")] public IList Categories { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkProperties.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkProperties.Serialization.cs index ecc75176eb69..ab2b0c144e77 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkProperties.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkProperties.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -110,6 +111,87 @@ internal static ShareablePrivateLinkProperties DeserializeShareablePrivateLinkPr return new ShareablePrivateLinkProperties(description, groupId, type, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Description), out propertyOverride); + if (Optional.IsDefined(Description) || hasPropertyOverride) + { + builder.Append(" description: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Description.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Description}'''"); + } + else + { + builder.AppendLine($"'{Description}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(GroupId), out propertyOverride); + if (Optional.IsDefined(GroupId) || hasPropertyOverride) + { + builder.Append(" groupId: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (GroupId.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{GroupId}'''"); + } + else + { + builder.AppendLine($"'{GroupId}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ShareablePrivateLinkPropertiesType), out propertyOverride); + if (Optional.IsDefined(ShareablePrivateLinkPropertiesType) || hasPropertyOverride) + { + builder.Append(" type: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (ShareablePrivateLinkPropertiesType.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{ShareablePrivateLinkPropertiesType}'''"); + } + else + { + builder.AppendLine($"'{ShareablePrivateLinkPropertiesType}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -118,6 +200,8 @@ BinaryData IPersistableModel.Write(ModelReaderWr { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(ShareablePrivateLinkProperties)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkProperties.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkProperties.cs index 5becd902ae2a..9b056a751b82 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkProperties.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkProperties.cs @@ -64,10 +64,13 @@ internal ShareablePrivateLinkProperties(string description, string groupId, stri } /// The description of the resource type that has been onboarded to private link service. + [WirePath("description")] public string Description { get; set; } /// The resource provider group id for the resource that has been onboarded to private link service. + [WirePath("groupId")] public string GroupId { get; set; } /// The resource provider type for the resource that has been onboarded to private link service. + [WirePath("type")] public string ShareablePrivateLinkPropertiesType { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkType.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkType.Serialization.cs index 66dbdb67660a..c27b6297cd60 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkType.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkType.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -103,6 +104,57 @@ internal static ShareablePrivateLinkType DeserializeShareablePrivateLinkType(Jso return new ShareablePrivateLinkType(name, properties, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Properties), out propertyOverride); + if (Optional.IsDefined(Properties) || hasPropertyOverride) + { + builder.Append(" properties: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Properties, options, 2, false, " properties: "); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -111,6 +163,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOp { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(ShareablePrivateLinkType)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkType.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkType.cs index ec79c69d707d..eb46e84daa60 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkType.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/ShareablePrivateLinkType.cs @@ -62,8 +62,10 @@ internal ShareablePrivateLinkType(string name, ShareablePrivateLinkProperties pr } /// The name of the resource type that has been onboarded to private link service. + [WirePath("name")] public string Name { get; set; } /// Describes the properties of a resource type that has been onboarded to private link service. + [WirePath("properties")] public ShareablePrivateLinkProperties Properties { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SharedPrivateLinkResourceList.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SharedPrivateLinkResourceList.Serialization.cs index bd840e1f5876..fc720f41d461 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SharedPrivateLinkResourceList.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SharedPrivateLinkResourceList.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static SharedPrivateLinkResourceList DeserializeSharedPrivateLinkResour return new SharedPrivateLinkResourceList(value ?? new ChangeTrackingList(), nextLink, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Value), out propertyOverride); + if (Optional.IsCollectionDefined(Value) || hasPropertyOverride) + { + if (Value.Any() || hasPropertyOverride) + { + builder.Append(" value: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Value) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " value: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NextLink), out propertyOverride); + if (Optional.IsDefined(NextLink) || hasPropertyOverride) + { + builder.Append(" nextLink: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (NextLink.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{NextLink}'''"); + } + else + { + builder.AppendLine($"'{NextLink}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWri { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(SharedPrivateLinkResourceList)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsage.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsage.Serialization.cs index 43f6f2d72ae0..fe14ab9f5d32 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsage.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsage.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -154,6 +155,99 @@ internal static SignalRServiceUsage DeserializeSignalRServiceUsage(JsonElement e serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Id), out propertyOverride); + if (Optional.IsDefined(Id) || hasPropertyOverride) + { + builder.Append(" id: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Id.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(CurrentValue), out propertyOverride); + if (Optional.IsDefined(CurrentValue) || hasPropertyOverride) + { + builder.Append(" currentValue: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{CurrentValue.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Limit), out propertyOverride); + if (Optional.IsDefined(Limit) || hasPropertyOverride) + { + builder.Append(" limit: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Limit.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Name, options, 2, false, " name: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Unit), out propertyOverride); + if (Optional.IsDefined(Unit) || hasPropertyOverride) + { + builder.Append(" unit: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Unit.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Unit}'''"); + } + else + { + builder.AppendLine($"'{Unit}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -162,6 +256,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(SignalRServiceUsage)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsage.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsage.cs index 375b09c18c9d..c710b57c3ccc 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsage.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsage.cs @@ -69,14 +69,19 @@ internal SignalRServiceUsage(ResourceIdentifier id, long? currentValue, long? li } /// Fully qualified ARM resource id. + [WirePath("id")] public ResourceIdentifier Id { get; } /// Current value for the usage quota. + [WirePath("currentValue")] public long? CurrentValue { get; } /// The maximum permitted value for the usage quota. If there is no limit, this value will be -1. + [WirePath("limit")] public long? Limit { get; } /// Localizable String object containing the name and a localized value. + [WirePath("name")] public SignalRServiceUsageName Name { get; } /// Representing the units of the usage quota. Possible values are: Count, Bytes, Seconds, Percent, CountPerSecond, BytesPerSecond. + [WirePath("unit")] public string Unit { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageList.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageList.Serialization.cs index 819ed15acb62..b81004cf6b1b 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageList.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageList.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static SignalRServiceUsageList DeserializeSignalRServiceUsageList(JsonE return new SignalRServiceUsageList(value ?? new ChangeTrackingList(), nextLink, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Value), out propertyOverride); + if (Optional.IsCollectionDefined(Value) || hasPropertyOverride) + { + if (Value.Any() || hasPropertyOverride) + { + builder.Append(" value: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Value) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " value: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NextLink), out propertyOverride); + if (Optional.IsDefined(NextLink) || hasPropertyOverride) + { + builder.Append(" nextLink: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (NextLink.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{NextLink}'''"); + } + else + { + builder.AppendLine($"'{NextLink}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOpt { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(SignalRServiceUsageList)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageName.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageName.Serialization.cs index 8449e4cb2207..8aaf46987f21 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageName.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageName.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -99,6 +100,65 @@ internal static SignalRServiceUsageName DeserializeSignalRServiceUsageName(JsonE return new SignalRServiceUsageName(value, localizedValue, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Value), out propertyOverride); + if (Optional.IsDefined(Value) || hasPropertyOverride) + { + builder.Append(" value: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Value.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Value}'''"); + } + else + { + builder.AppendLine($"'{Value}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(LocalizedValue), out propertyOverride); + if (Optional.IsDefined(LocalizedValue) || hasPropertyOverride) + { + builder.Append(" localizedValue: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (LocalizedValue.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{LocalizedValue}'''"); + } + else + { + builder.AppendLine($"'{LocalizedValue}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -107,6 +167,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOpt { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(SignalRServiceUsageName)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageName.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageName.cs index 019268f7e96e..9ae805378abb 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageName.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SignalRServiceUsageName.cs @@ -62,8 +62,10 @@ internal SignalRServiceUsageName(string value, string localizedValue, IDictionar } /// The identifier of the usage. + [WirePath("value")] public string Value { get; } /// Localized name of the usage. + [WirePath("localizedValue")] public string LocalizedValue { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SkuList.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SkuList.Serialization.cs index 33456e10c9fc..0127f39d8d54 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SkuList.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SkuList.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static SkuList DeserializeSkuList(JsonElement element, ModelReaderWrite return new SkuList(value ?? new ChangeTrackingList(), nextLink, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Value), out propertyOverride); + if (Optional.IsCollectionDefined(Value) || hasPropertyOverride) + { + if (Value.Any() || hasPropertyOverride) + { + builder.Append(" value: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Value) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " value: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NextLink), out propertyOverride); + if (Optional.IsDefined(NextLink) || hasPropertyOverride) + { + builder.Append(" nextLink: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (NextLink.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{NextLink}'''"); + } + else + { + builder.AppendLine($"'{NextLink}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(SkuList)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SkuList.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SkuList.cs index 4bc738cfbbcd..706aae9cf473 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SkuList.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/SkuList.cs @@ -66,11 +66,13 @@ internal SkuList(IReadOnlyList value, string nextLink, IDictionary } /// The list of skus available for the resource. + [WirePath("value")] public IReadOnlyList Value { get; } /// /// The URL the client should use to fetch the next page (per server side paging). /// It's null for now, added for future use. /// + [WirePath("nextLink")] public string NextLink { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/UpstreamAuthSettings.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/UpstreamAuthSettings.Serialization.cs index 0740599fb1b1..abe0deeca37a 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/UpstreamAuthSettings.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/UpstreamAuthSettings.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -107,6 +109,71 @@ internal static UpstreamAuthSettings DeserializeUpstreamAuthSettings(JsonElement return new UpstreamAuthSettings(type, managedIdentity, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + if (propertyOverrides != null) + { + TransformFlattenedOverrides(bicepOptions, propertyOverrides); + } + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(AuthType), out propertyOverride); + if (Optional.IsDefined(AuthType) || hasPropertyOverride) + { + builder.Append(" type: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{AuthType.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ManagedIdentity), out propertyOverride); + if (Optional.IsDefined(ManagedIdentity) || hasPropertyOverride) + { + builder.Append(" managedIdentity: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, ManagedIdentity, options, 2, false, " managedIdentity: "); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + + private void TransformFlattenedOverrides(BicepModelReaderWriterOptions bicepOptions, IDictionary propertyOverrides) + { + foreach (var item in propertyOverrides.ToList()) + { + switch (item.Key) + { + case "ManagedIdentityResource": + Dictionary propertyDictionary = new Dictionary(); + propertyDictionary.Add("Resource", item.Value); + bicepOptions.PropertyOverrides.Add(ManagedIdentity, propertyDictionary); + break; + default: + continue; + } + } + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -115,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOption { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(UpstreamAuthSettings)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/UpstreamAuthSettings.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/UpstreamAuthSettings.cs index 8a3dd096ee4f..de628b198688 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/UpstreamAuthSettings.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/UpstreamAuthSettings.cs @@ -62,6 +62,7 @@ internal UpstreamAuthSettings(UpstreamAuthType? authType, ManagedIdentitySetting } /// Upstream auth type enum. + [WirePath("type")] public UpstreamAuthType? AuthType { get; set; } /// Managed identity settings for upstream. internal ManagedIdentitySettings ManagedIdentity { get; set; } @@ -69,6 +70,7 @@ internal UpstreamAuthSettings(UpstreamAuthType? authType, ManagedIdentitySetting /// The Resource indicating the App ID URI of the target resource. /// It also appears in the aud (audience) claim of the issued token. /// + [WirePath("managedIdentity.resource")] public string ManagedIdentityResource { get => ManagedIdentity is null ? default : ManagedIdentity.Resource; diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubEventHandler.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubEventHandler.Serialization.cs index 3526f348e3a0..6b9f193ae16c 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubEventHandler.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubEventHandler.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -136,6 +138,114 @@ internal static WebPubSubEventHandler DeserializeWebPubSubEventHandler(JsonEleme return new WebPubSubEventHandler(urlTemplate, userEventPattern, systemEvents ?? new ChangeTrackingList(), auth, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(UrlTemplate), out propertyOverride); + if (Optional.IsDefined(UrlTemplate) || hasPropertyOverride) + { + builder.Append(" urlTemplate: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (UrlTemplate.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{UrlTemplate}'''"); + } + else + { + builder.AppendLine($"'{UrlTemplate}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(UserEventPattern), out propertyOverride); + if (Optional.IsDefined(UserEventPattern) || hasPropertyOverride) + { + builder.Append(" userEventPattern: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (UserEventPattern.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{UserEventPattern}'''"); + } + else + { + builder.AppendLine($"'{UserEventPattern}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SystemEvents), out propertyOverride); + if (Optional.IsCollectionDefined(SystemEvents) || hasPropertyOverride) + { + if (SystemEvents.Any() || hasPropertyOverride) + { + builder.Append(" systemEvents: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in SystemEvents) + { + if (item == null) + { + builder.Append("null"); + continue; + } + if (item.Contains(Environment.NewLine)) + { + builder.AppendLine(" '''"); + builder.AppendLine($"{item}'''"); + } + else + { + builder.AppendLine($" '{item}'"); + } + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Auth), out propertyOverride); + if (Optional.IsDefined(Auth) || hasPropertyOverride) + { + builder.Append(" auth: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Auth, options, 2, false, " auth: "); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -144,6 +254,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptio { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubEventHandler)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubEventHandler.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubEventHandler.cs index d534f40eea47..7e4a70a78244 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubEventHandler.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubEventHandler.cs @@ -92,6 +92,7 @@ internal WebPubSubEventHandler() /// Gets or sets the EventHandler URL template. You can use a predefined parameter {hub} and {event} inside the template, the value of the EventHandler URL is dynamically calculated when the client request comes in. /// For example, UrlTemplate can be `http://example.com/api/{hub}/{event}`. The host part can't contains parameters. /// + [WirePath("urlTemplate")] public string UrlTemplate { get; set; } /// /// Gets or sets the matching pattern for event names. @@ -100,10 +101,13 @@ internal WebPubSubEventHandler() /// 2. Combine multiple events with ",", for example "event1,event2", it matches event "event1" and "event2" /// 3. The single event name, for example, "event1", it matches "event1" /// + [WirePath("userEventPattern")] public string UserEventPattern { get; set; } /// Gets ot sets the list of system events. + [WirePath("systemEvents")] public IList SystemEvents { get; } /// Upstream auth settings. If not set, no auth is used for upstream messages. + [WirePath("auth")] public UpstreamAuthSettings Auth { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubList.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubList.Serialization.cs index 9af2c63c76a0..893d5c6c3ade 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubList.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubList.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static WebPubSubHubList DeserializeWebPubSubHubList(JsonElement element return new WebPubSubHubList(value ?? new ChangeTrackingList(), nextLink, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Value), out propertyOverride); + if (Optional.IsCollectionDefined(Value) || hasPropertyOverride) + { + if (Value.Any() || hasPropertyOverride) + { + builder.Append(" value: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Value) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " value: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NextLink), out propertyOverride); + if (Optional.IsDefined(NextLink) || hasPropertyOverride) + { + builder.Append(" nextLink: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (NextLink.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{NextLink}'''"); + } + else + { + builder.AppendLine($"'{NextLink}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions op { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubHubList)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubProperties.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubProperties.Serialization.cs index 496f6804acdc..f9cd3b37f866 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubProperties.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubProperties.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static WebPubSubHubProperties DeserializeWebPubSubHubProperties(JsonEle return new WebPubSubHubProperties(eventHandlers ?? new ChangeTrackingList(), anonymousConnectPolicy, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(EventHandlers), out propertyOverride); + if (Optional.IsCollectionDefined(EventHandlers) || hasPropertyOverride) + { + if (EventHandlers.Any() || hasPropertyOverride) + { + builder.Append(" eventHandlers: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in EventHandlers) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " eventHandlers: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(AnonymousConnectPolicy), out propertyOverride); + if (Optional.IsDefined(AnonymousConnectPolicy) || hasPropertyOverride) + { + builder.Append(" anonymousConnectPolicy: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (AnonymousConnectPolicy.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{AnonymousConnectPolicy}'''"); + } + else + { + builder.AppendLine($"'{AnonymousConnectPolicy}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOpti { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubHubProperties)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubProperties.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubProperties.cs index 48ce5fca104e..ba058873da58 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubProperties.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubHubProperties.cs @@ -63,8 +63,10 @@ internal WebPubSubHubProperties(IList eventHandlers, stri } /// Event handler of a hub. + [WirePath("eventHandlers")] public IList EventHandlers { get; } /// The settings for configuring if anonymous connections are allowed for this hub: "allow" or "deny". Default to "deny". + [WirePath("anonymousConnectPolicy")] public string AnonymousConnectPolicy { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubKeys.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubKeys.Serialization.cs index 3407fd1b6554..023d016cda15 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubKeys.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubKeys.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -121,6 +122,109 @@ internal static WebPubSubKeys DeserializeWebPubSubKeys(JsonElement element, Mode return new WebPubSubKeys(primaryKey, secondaryKey, primaryConnectionString, secondaryConnectionString, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PrimaryKey), out propertyOverride); + if (Optional.IsDefined(PrimaryKey) || hasPropertyOverride) + { + builder.Append(" primaryKey: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (PrimaryKey.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{PrimaryKey}'''"); + } + else + { + builder.AppendLine($"'{PrimaryKey}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SecondaryKey), out propertyOverride); + if (Optional.IsDefined(SecondaryKey) || hasPropertyOverride) + { + builder.Append(" secondaryKey: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (SecondaryKey.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{SecondaryKey}'''"); + } + else + { + builder.AppendLine($"'{SecondaryKey}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PrimaryConnectionString), out propertyOverride); + if (Optional.IsDefined(PrimaryConnectionString) || hasPropertyOverride) + { + builder.Append(" primaryConnectionString: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (PrimaryConnectionString.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{PrimaryConnectionString}'''"); + } + else + { + builder.AppendLine($"'{PrimaryConnectionString}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SecondaryConnectionString), out propertyOverride); + if (Optional.IsDefined(SecondaryConnectionString) || hasPropertyOverride) + { + builder.Append(" secondaryConnectionString: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (SecondaryConnectionString.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{SecondaryConnectionString}'''"); + } + else + { + builder.AppendLine($"'{SecondaryConnectionString}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -129,6 +233,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions optio { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubKeys)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubKeys.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubKeys.cs index f6ae732522f3..d9820a5f47d5 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubKeys.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubKeys.cs @@ -66,12 +66,16 @@ internal WebPubSubKeys(string primaryKey, string secondaryKey, string primaryCon } /// The primary access key. + [WirePath("primaryKey")] public string PrimaryKey { get; } /// The secondary access key. + [WirePath("secondaryKey")] public string SecondaryKey { get; } /// Connection string constructed via the primaryKey. + [WirePath("primaryConnectionString")] public string PrimaryConnectionString { get; } /// Connection string constructed via the secondaryKey. + [WirePath("secondaryConnectionString")] public string SecondaryConnectionString { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailability.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailability.Serialization.cs index f2e772344ed5..efe476ad9741 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailability.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailability.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -114,6 +115,80 @@ internal static WebPubSubNameAvailability DeserializeWebPubSubNameAvailability(J return new WebPubSubNameAvailability(nameAvailable, reason, message, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NameAvailable), out propertyOverride); + if (Optional.IsDefined(NameAvailable) || hasPropertyOverride) + { + builder.Append(" nameAvailable: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + var boolValue = NameAvailable.Value == true ? "true" : "false"; + builder.AppendLine($"{boolValue}"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Reason), out propertyOverride); + if (Optional.IsDefined(Reason) || hasPropertyOverride) + { + builder.Append(" reason: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Reason.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Reason}'''"); + } + else + { + builder.AppendLine($"'{Reason}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Message), out propertyOverride); + if (Optional.IsDefined(Message) || hasPropertyOverride) + { + builder.Append(" message: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Message.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Message}'''"); + } + else + { + builder.AppendLine($"'{Message}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -122,6 +197,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterO { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubNameAvailability)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailability.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailability.cs index bc074b56c389..fa6bfdc0c47c 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailability.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailability.cs @@ -64,10 +64,13 @@ internal WebPubSubNameAvailability(bool? nameAvailable, string reason, string me } /// Indicates whether the name is available or not. + [WirePath("nameAvailable")] public bool? NameAvailable { get; } /// The reason of the availability. Required if name is not available. + [WirePath("reason")] public string Reason { get; } /// The message of the operation. + [WirePath("message")] public string Message { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailabilityContent.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailabilityContent.cs index 439a2030235c..96b0aa6a58db 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailabilityContent.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNameAvailabilityContent.cs @@ -75,8 +75,10 @@ internal WebPubSubNameAvailabilityContent() } /// The resource type. Can be "Microsoft.SignalRService/SignalR" or "Microsoft.SignalRService/webPubSub". + [WirePath("type")] public string ResourceType { get; } /// The resource name to validate. e.g."my-resource-name". + [WirePath("name")] public string Name { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNetworkAcls.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNetworkAcls.Serialization.cs index c604e86fc644..0671752dd4b6 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNetworkAcls.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNetworkAcls.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -132,6 +134,71 @@ internal static WebPubSubNetworkAcls DeserializeWebPubSubNetworkAcls(JsonElement return new WebPubSubNetworkAcls(defaultAction, publicNetwork, privateEndpoints ?? new ChangeTrackingList(), serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(DefaultAction), out propertyOverride); + if (Optional.IsDefined(DefaultAction) || hasPropertyOverride) + { + builder.Append(" defaultAction: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{DefaultAction.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PublicNetwork), out propertyOverride); + if (Optional.IsDefined(PublicNetwork) || hasPropertyOverride) + { + builder.Append(" publicNetwork: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, PublicNetwork, options, 2, false, " publicNetwork: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PrivateEndpoints), out propertyOverride); + if (Optional.IsCollectionDefined(PrivateEndpoints) || hasPropertyOverride) + { + if (PrivateEndpoints.Any() || hasPropertyOverride) + { + builder.Append(" privateEndpoints: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in PrivateEndpoints) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " privateEndpoints: "); + } + builder.AppendLine(" ]"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -140,6 +207,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOption { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubNetworkAcls)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNetworkAcls.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNetworkAcls.cs index 171090a21323..b185d1dcb6c4 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNetworkAcls.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubNetworkAcls.cs @@ -65,10 +65,13 @@ internal WebPubSubNetworkAcls(AclAction? defaultAction, PublicNetworkAcls public } /// Azure Networking ACL Action. + [WirePath("defaultAction")] public AclAction? DefaultAction { get; set; } /// Network ACL. + [WirePath("publicNetwork")] public PublicNetworkAcls PublicNetwork { get; set; } /// ACLs for requests from private endpoints. + [WirePath("privateEndpoints")] public IList PrivateEndpoints { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLink.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLink.Serialization.cs index bdffb5d02e78..49cc2a55fcab 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLink.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLink.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; using Azure.ResourceManager.Models; @@ -236,6 +238,188 @@ internal static WebPubSubPrivateLink DeserializeWebPubSubPrivateLink(JsonElement serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Id), out propertyOverride); + if (Optional.IsDefined(Id) || hasPropertyOverride) + { + builder.Append(" id: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Id.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SystemData), out propertyOverride); + if (Optional.IsDefined(SystemData) || hasPropertyOverride) + { + builder.Append(" systemData: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{SystemData.ToString()}'"); + } + } + + builder.Append(" properties:"); + builder.AppendLine(" {"); + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(GroupId), out propertyOverride); + if (Optional.IsDefined(GroupId) || hasPropertyOverride) + { + builder.Append(" groupId: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (GroupId.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{GroupId}'''"); + } + else + { + builder.AppendLine($"'{GroupId}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(RequiredMembers), out propertyOverride); + if (Optional.IsCollectionDefined(RequiredMembers) || hasPropertyOverride) + { + if (RequiredMembers.Any() || hasPropertyOverride) + { + builder.Append(" requiredMembers: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in RequiredMembers) + { + if (item == null) + { + builder.Append("null"); + continue; + } + if (item.Contains(Environment.NewLine)) + { + builder.AppendLine(" '''"); + builder.AppendLine($"{item}'''"); + } + else + { + builder.AppendLine($" '{item}'"); + } + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(RequiredZoneNames), out propertyOverride); + if (Optional.IsCollectionDefined(RequiredZoneNames) || hasPropertyOverride) + { + if (RequiredZoneNames.Any() || hasPropertyOverride) + { + builder.Append(" requiredZoneNames: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in RequiredZoneNames) + { + if (item == null) + { + builder.Append("null"); + continue; + } + if (item.Contains(Environment.NewLine)) + { + builder.AppendLine(" '''"); + builder.AppendLine($"{item}'''"); + } + else + { + builder.AppendLine($" '{item}'"); + } + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ShareablePrivateLinkTypes), out propertyOverride); + if (Optional.IsCollectionDefined(ShareablePrivateLinkTypes) || hasPropertyOverride) + { + if (ShareablePrivateLinkTypes.Any() || hasPropertyOverride) + { + builder.Append(" shareablePrivateLinkResourceTypes: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in ShareablePrivateLinkTypes) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 6, true, " shareablePrivateLinkResourceTypes: "); + } + builder.AppendLine(" ]"); + } + } + } + + builder.AppendLine(" }"); + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -244,6 +428,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOption { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubPrivateLink)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLink.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLink.cs index 512c78019d67..6d29086b53bd 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLink.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLink.cs @@ -75,12 +75,16 @@ internal WebPubSubPrivateLink(ResourceIdentifier id, string name, ResourceType r } /// Group Id of the private link resource. + [WirePath("properties.groupId")] public string GroupId { get; set; } /// Required members of the private link resource. + [WirePath("properties.requiredMembers")] public IList RequiredMembers { get; } /// Required private DNS zone names. + [WirePath("properties.requiredZoneNames")] public IList RequiredZoneNames { get; } /// The list of resources that are onboarded to private link service. + [WirePath("properties.shareablePrivateLinkResourceTypes")] public IList ShareablePrivateLinkTypes { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLinkServiceConnectionState.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLinkServiceConnectionState.Serialization.cs index d3f7dd79648b..e88d3a6f9773 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLinkServiceConnectionState.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLinkServiceConnectionState.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -114,6 +115,79 @@ internal static WebPubSubPrivateLinkServiceConnectionState DeserializeWebPubSubP return new WebPubSubPrivateLinkServiceConnectionState(status, description, actionsRequired, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Status), out propertyOverride); + if (Optional.IsDefined(Status) || hasPropertyOverride) + { + builder.Append(" status: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Status.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Description), out propertyOverride); + if (Optional.IsDefined(Description) || hasPropertyOverride) + { + builder.Append(" description: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Description.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Description}'''"); + } + else + { + builder.AppendLine($"'{Description}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ActionsRequired), out propertyOverride); + if (Optional.IsDefined(ActionsRequired) || hasPropertyOverride) + { + builder.Append(" actionsRequired: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (ActionsRequired.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{ActionsRequired}'''"); + } + else + { + builder.AppendLine($"'{ActionsRequired}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -122,6 +196,8 @@ BinaryData IPersistableModel.Write(M { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubPrivateLinkServiceConnectionState)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLinkServiceConnectionState.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLinkServiceConnectionState.cs index 0d9099c364bd..a29db708a3de 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLinkServiceConnectionState.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubPrivateLinkServiceConnectionState.cs @@ -64,10 +64,13 @@ internal WebPubSubPrivateLinkServiceConnectionState(WebPubSubPrivateLinkServiceC } /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + [WirePath("status")] public WebPubSubPrivateLinkServiceConnectionStatus? Status { get; set; } /// The reason for approval/rejection of the connection. + [WirePath("description")] public string Description { get; set; } /// A message indicating if changes on the service provider require any updates on the consumer. + [WirePath("actionsRequired")] public string ActionsRequired { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubRegenerateKeyContent.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubRegenerateKeyContent.cs index 3995ab255759..4ce967c9ef2c 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubRegenerateKeyContent.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubRegenerateKeyContent.cs @@ -60,6 +60,7 @@ internal WebPubSubRegenerateKeyContent(WebPubSubKeyType? keyType, IDictionary The type of access key. + [WirePath("keyType")] public WebPubSubKeyType? KeyType { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubResourceList.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubResourceList.Serialization.cs index b9fb056e18ea..a3bfdd2280f6 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubResourceList.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubResourceList.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -113,6 +115,65 @@ internal static WebPubSubResourceList DeserializeWebPubSubResourceList(JsonEleme return new WebPubSubResourceList(value ?? new ChangeTrackingList(), nextLink, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Value), out propertyOverride); + if (Optional.IsCollectionDefined(Value) || hasPropertyOverride) + { + if (Value.Any() || hasPropertyOverride) + { + builder.Append(" value: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in Value) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " value: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NextLink), out propertyOverride); + if (Optional.IsDefined(NextLink) || hasPropertyOverride) + { + builder.Append(" nextLink: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (NextLink.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{NextLink}'''"); + } + else + { + builder.AppendLine($"'{NextLink}'"); + } + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -121,6 +182,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptio { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubResourceList)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSku.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSku.Serialization.cs index 53bc123ea236..28918c6578b1 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSku.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSku.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -122,6 +123,63 @@ internal static WebPubSubSku DeserializeWebPubSubSku(JsonElement element, ModelR return new WebPubSubSku(resourceType, sku, capacity, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ResourceType), out propertyOverride); + if (Optional.IsDefined(ResourceType) || hasPropertyOverride) + { + builder.Append(" resourceType: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{ResourceType.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Sku), out propertyOverride); + if (Optional.IsDefined(Sku) || hasPropertyOverride) + { + builder.Append(" sku: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Sku, options, 2, false, " sku: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Capacity), out propertyOverride); + if (Optional.IsDefined(Capacity) || hasPropertyOverride) + { + builder.Append(" capacity: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Capacity, options, 2, false, " capacity: "); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -130,6 +188,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions option { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubSku)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSku.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSku.cs index 53cecde9599e..b62adbc193c6 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSku.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSku.cs @@ -65,10 +65,13 @@ internal WebPubSubSku(ResourceType? resourceType, BillingInfoSku sku, WebPubSubS } /// The resource type that this object applies to. + [WirePath("resourceType")] public ResourceType? ResourceType { get; } /// The billing information of the resource. + [WirePath("sku")] public BillingInfoSku Sku { get; } /// Describes scaling information of a sku. + [WirePath("capacity")] public WebPubSubSkuCapacity Capacity { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSkuCapacity.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSkuCapacity.Serialization.cs index 67c06387de3c..2c4e41cf71fa 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSkuCapacity.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSkuCapacity.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; @@ -168,6 +170,99 @@ internal static WebPubSubSkuCapacity DeserializeWebPubSubSkuCapacity(JsonElement serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Minimum), out propertyOverride); + if (Optional.IsDefined(Minimum) || hasPropertyOverride) + { + builder.Append(" minimum: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"{Minimum.Value}"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Maximum), out propertyOverride); + if (Optional.IsDefined(Maximum) || hasPropertyOverride) + { + builder.Append(" maximum: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"{Maximum.Value}"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Default), out propertyOverride); + if (Optional.IsDefined(Default) || hasPropertyOverride) + { + builder.Append(" default: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"{Default.Value}"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(AllowedValues), out propertyOverride); + if (Optional.IsCollectionDefined(AllowedValues) || hasPropertyOverride) + { + if (AllowedValues.Any() || hasPropertyOverride) + { + builder.Append(" allowedValues: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in AllowedValues) + { + builder.AppendLine($" {item}"); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ScaleType), out propertyOverride); + if (Optional.IsDefined(ScaleType) || hasPropertyOverride) + { + builder.Append(" scaleType: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{ScaleType.Value.ToString()}'"); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -176,6 +271,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOption { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubSkuCapacity)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSkuCapacity.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSkuCapacity.cs index 8aef004723e4..82460ef300b2 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSkuCapacity.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubSkuCapacity.cs @@ -69,14 +69,19 @@ internal WebPubSubSkuCapacity(int? minimum, int? maximum, int? @default, IReadOn } /// The lowest permitted capacity for this resource. + [WirePath("minimum")] public int? Minimum { get; } /// The highest permitted capacity for this resource. + [WirePath("maximum")] public int? Maximum { get; } /// The default capacity. + [WirePath("default")] public int? Default { get; } /// Allows capacity value list. + [WirePath("allowedValues")] public IReadOnlyList AllowedValues { get; } /// The scale type applicable to the sku. + [WirePath("scaleType")] public WebPubSubScaleType? ScaleType { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.Serialization.cs index 1a6513f5bc4f..35237438f0d0 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; @@ -92,6 +93,36 @@ internal static WebPubSubTlsSettings DeserializeWebPubSubTlsSettings(JsonElement return new WebPubSubTlsSettings(clientCertEnabled, serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(IsClientCertEnabled), out propertyOverride); + if (Optional.IsDefined(IsClientCertEnabled) || hasPropertyOverride) + { + builder.Append(" clientCertEnabled: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + var boolValue = IsClientCertEnabled.Value == true ? "true" : "false"; + builder.AppendLine($"{boolValue}"); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -100,6 +131,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOption { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubTlsSettings)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.cs index 3dab98b92e93..fe9c519f8b9f 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.cs @@ -60,6 +60,7 @@ internal WebPubSubTlsSettings(bool? isClientCertEnabled, IDictionary Request client certificate during TLS handshake if enabled. + [WirePath("clientCertEnabled")] public bool? IsClientCertEnabled { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubData.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubData.Serialization.cs index 871c27a78057..9cf8c5fc8972 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubData.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubData.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; using Azure.ResourceManager.Models; @@ -471,6 +473,458 @@ internal static WebPubSubData DeserializeWebPubSubData(JsonElement element, Mode serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + if (propertyOverrides != null) + { + TransformFlattenedOverrides(bicepOptions, propertyOverrides); + } + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Location), out propertyOverride); + builder.Append(" location: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Location.ToString()}'"); + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Tags), out propertyOverride); + if (Optional.IsCollectionDefined(Tags) || hasPropertyOverride) + { + if (Tags.Any() || hasPropertyOverride) + { + builder.Append(" tags: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("{"); + foreach (var item in Tags) + { + builder.Append($" '{item.Key}': "); + if (item.Value == null) + { + builder.Append("null"); + continue; + } + if (item.Value.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{item.Value}'''"); + } + else + { + builder.AppendLine($"'{item.Value}'"); + } + } + builder.AppendLine(" }"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Sku), out propertyOverride); + if (Optional.IsDefined(Sku) || hasPropertyOverride) + { + builder.Append(" sku: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Sku, options, 2, false, " sku: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Identity), out propertyOverride); + if (Optional.IsDefined(Identity) || hasPropertyOverride) + { + builder.Append(" identity: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Identity, options, 2, false, " identity: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Id), out propertyOverride); + if (Optional.IsDefined(Id) || hasPropertyOverride) + { + builder.Append(" id: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Id.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SystemData), out propertyOverride); + if (Optional.IsDefined(SystemData) || hasPropertyOverride) + { + builder.Append(" systemData: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{SystemData.ToString()}'"); + } + } + + builder.Append(" properties:"); + builder.AppendLine(" {"); + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ProvisioningState), out propertyOverride); + if (Optional.IsDefined(ProvisioningState) || hasPropertyOverride) + { + builder.Append(" provisioningState: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{ProvisioningState.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ExternalIP), out propertyOverride); + if (Optional.IsDefined(ExternalIP) || hasPropertyOverride) + { + builder.Append(" externalIP: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (ExternalIP.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{ExternalIP}'''"); + } + else + { + builder.AppendLine($"'{ExternalIP}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(HostName), out propertyOverride); + if (Optional.IsDefined(HostName) || hasPropertyOverride) + { + builder.Append(" hostName: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (HostName.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{HostName}'''"); + } + else + { + builder.AppendLine($"'{HostName}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PublicPort), out propertyOverride); + if (Optional.IsDefined(PublicPort) || hasPropertyOverride) + { + builder.Append(" publicPort: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"{PublicPort.Value}"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ServerPort), out propertyOverride); + if (Optional.IsDefined(ServerPort) || hasPropertyOverride) + { + builder.Append(" serverPort: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"{ServerPort.Value}"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Version), out propertyOverride); + if (Optional.IsDefined(Version) || hasPropertyOverride) + { + builder.Append(" version: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Version.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Version}'''"); + } + else + { + builder.AppendLine($"'{Version}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PrivateEndpointConnections), out propertyOverride); + if (Optional.IsCollectionDefined(PrivateEndpointConnections) || hasPropertyOverride) + { + if (PrivateEndpointConnections.Any() || hasPropertyOverride) + { + builder.Append(" privateEndpointConnections: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in PrivateEndpointConnections) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 6, true, " privateEndpointConnections: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SharedPrivateLinkResources), out propertyOverride); + if (Optional.IsCollectionDefined(SharedPrivateLinkResources) || hasPropertyOverride) + { + if (SharedPrivateLinkResources.Any() || hasPropertyOverride) + { + builder.Append(" sharedPrivateLinkResources: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in SharedPrivateLinkResources) + { + BicepSerializationHelpers.AppendChildObject(builder, item, options, 6, true, " sharedPrivateLinkResources: "); + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Tls), out propertyOverride); + if (Optional.IsDefined(Tls) || hasPropertyOverride) + { + builder.Append(" tls: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Tls, options, 4, false, " tls: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(HostNamePrefix), out propertyOverride); + if (Optional.IsDefined(HostNamePrefix) || hasPropertyOverride) + { + builder.Append(" hostNamePrefix: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (HostNamePrefix.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{HostNamePrefix}'''"); + } + else + { + builder.AppendLine($"'{HostNamePrefix}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(LiveTraceConfiguration), out propertyOverride); + if (Optional.IsDefined(LiveTraceConfiguration) || hasPropertyOverride) + { + builder.Append(" liveTraceConfiguration: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, LiveTraceConfiguration, options, 4, false, " liveTraceConfiguration: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ResourceLogConfiguration), out propertyOverride); + if (Optional.IsDefined(ResourceLogConfiguration) || hasPropertyOverride) + { + builder.Append(" resourceLogConfiguration: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, ResourceLogConfiguration, options, 4, false, " resourceLogConfiguration: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(NetworkAcls), out propertyOverride); + if (Optional.IsDefined(NetworkAcls) || hasPropertyOverride) + { + builder.Append(" networkACLs: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, NetworkAcls, options, 4, false, " networkACLs: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PublicNetworkAccess), out propertyOverride); + if (Optional.IsDefined(PublicNetworkAccess) || hasPropertyOverride) + { + builder.Append(" publicNetworkAccess: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (PublicNetworkAccess.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{PublicNetworkAccess}'''"); + } + else + { + builder.AppendLine($"'{PublicNetworkAccess}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(IsLocalAuthDisabled), out propertyOverride); + if (Optional.IsDefined(IsLocalAuthDisabled) || hasPropertyOverride) + { + builder.Append(" disableLocalAuth: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + var boolValue = IsLocalAuthDisabled.Value == true ? "true" : "false"; + builder.AppendLine($"{boolValue}"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(IsAadAuthDisabled), out propertyOverride); + if (Optional.IsDefined(IsAadAuthDisabled) || hasPropertyOverride) + { + builder.Append(" disableAadAuth: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + var boolValue = IsAadAuthDisabled.Value == true ? "true" : "false"; + builder.AppendLine($"{boolValue}"); + } + } + + builder.AppendLine(" }"); + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + + private void TransformFlattenedOverrides(BicepModelReaderWriterOptions bicepOptions, IDictionary propertyOverrides) + { + foreach (var item in propertyOverrides.ToList()) + { + switch (item.Key) + { + case "IsClientCertEnabled": + Dictionary propertyDictionary = new Dictionary(); + propertyDictionary.Add("IsClientCertEnabled", item.Value); + bicepOptions.PropertyOverrides.Add(Tls, propertyDictionary); + break; + case "ResourceLogCategories": + Dictionary propertyDictionary0 = new Dictionary(); + propertyDictionary0.Add("Categories", item.Value); + bicepOptions.PropertyOverrides.Add(ResourceLogConfiguration, propertyDictionary0); + break; + default: + continue; + } + } + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -479,6 +933,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions optio { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubData)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubData.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubData.cs index 8ef79301c519..9352cd17ced0 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubData.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubData.cs @@ -126,28 +126,39 @@ internal WebPubSubData() } /// The billing information of the resource. + [WirePath("sku")] public BillingInfoSku Sku { get; set; } /// A class represent managed identities used for request and response. Current supported identity types: None, SystemAssigned, UserAssigned. + [WirePath("identity")] public ManagedServiceIdentity Identity { get; set; } /// Provisioning state of the resource. + [WirePath("properties.provisioningState")] public WebPubSubProvisioningState? ProvisioningState { get; } /// The publicly accessible IP of the resource. + [WirePath("properties.externalIP")] public string ExternalIP { get; } /// FQDN of the service instance. + [WirePath("properties.hostName")] public string HostName { get; } /// The publicly accessible port of the resource which is designed for browser/client side usage. + [WirePath("properties.publicPort")] public int? PublicPort { get; } /// The publicly accessible port of the resource which is designed for customer server side usage. + [WirePath("properties.serverPort")] public int? ServerPort { get; } /// Version of the resource. Probably you need the same or higher version of client SDKs. + [WirePath("properties.version")] public string Version { get; } /// Private endpoint connections to the resource. + [WirePath("properties.privateEndpointConnections")] public IReadOnlyList PrivateEndpointConnections { get; } /// The list of shared private link resources. + [WirePath("properties.sharedPrivateLinkResources")] public IReadOnlyList SharedPrivateLinkResources { get; } /// TLS settings for the resource. internal WebPubSubTlsSettings Tls { get; set; } /// Request client certificate during TLS handshake if enabled. + [WirePath("properties.tls.clientCertEnabled")] public bool? IsClientCertEnabled { get => Tls is null ? default : Tls.IsClientCertEnabled; @@ -160,12 +171,15 @@ public bool? IsClientCertEnabled } /// Deprecated. + [WirePath("properties.hostNamePrefix")] public string HostNamePrefix { get; } /// Live trace configuration of a Microsoft.SignalRService resource. + [WirePath("properties.liveTraceConfiguration")] public LiveTraceConfiguration LiveTraceConfiguration { get; set; } /// Resource log configuration of a Microsoft.SignalRService resource. internal ResourceLogConfiguration ResourceLogConfiguration { get; set; } /// Gets or sets the list of category configurations. + [WirePath("properties.resourceLogConfiguration.categories")] public IList ResourceLogCategories { get @@ -177,24 +191,28 @@ public IList ResourceLogCategories } /// Network ACLs for the resource. + [WirePath("properties.networkACLs")] public WebPubSubNetworkAcls NetworkAcls { get; set; } /// /// Enable or disable public network access. Default to "Enabled". /// When it's Enabled, network ACLs still apply. /// When it's Disabled, public network access is always disabled no matter what you set in network ACLs. /// + [WirePath("properties.publicNetworkAccess")] public string PublicNetworkAccess { get; set; } /// /// DisableLocalAuth /// Enable or disable local auth with AccessKey /// When set as true, connection with AccessKey=xxx won't work. /// + [WirePath("properties.disableLocalAuth")] public bool? IsLocalAuthDisabled { get; set; } /// /// DisableLocalAuth /// Enable or disable aad auth /// When set as true, connection with AuthType=aad won't work. /// + [WirePath("properties.disableAadAuth")] public bool? IsAadAuthDisabled { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubHubData.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubHubData.Serialization.cs index 5ced1ed372e7..fb66de05165d 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubHubData.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubHubData.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; using Azure.ResourceManager.Models; @@ -141,6 +142,85 @@ internal static WebPubSubHubData DeserializeWebPubSubHubData(JsonElement element serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Properties), out propertyOverride); + if (Optional.IsDefined(Properties) || hasPropertyOverride) + { + builder.Append(" properties: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, Properties, options, 2, false, " properties: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Id), out propertyOverride); + if (Optional.IsDefined(Id) || hasPropertyOverride) + { + builder.Append(" id: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Id.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SystemData), out propertyOverride); + if (Optional.IsDefined(SystemData) || hasPropertyOverride) + { + builder.Append(" systemData: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{SystemData.ToString()}'"); + } + } + + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -149,6 +229,8 @@ BinaryData IPersistableModel.Write(ModelReaderWriterOptions op { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubHubData)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubHubData.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubHubData.cs index 0744cbc2f4fa..8a8bb148cf87 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubHubData.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubHubData.cs @@ -80,6 +80,7 @@ internal WebPubSubHubData() } /// Properties of a hub. + [WirePath("properties")] public WebPubSubHubProperties Properties { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubPrivateEndpointConnectionData.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubPrivateEndpointConnectionData.Serialization.cs index a0588c07142d..7eb45c870ef2 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubPrivateEndpointConnectionData.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubPrivateEndpointConnectionData.Serialization.cs @@ -8,6 +8,8 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Linq; +using System.Text; using System.Text.Json; using Azure.Core; using Azure.ResourceManager.Models; @@ -221,6 +223,173 @@ internal static WebPubSubPrivateEndpointConnectionData DeserializeWebPubSubPriva serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + if (propertyOverrides != null) + { + TransformFlattenedOverrides(bicepOptions, propertyOverrides); + } + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Id), out propertyOverride); + if (Optional.IsDefined(Id) || hasPropertyOverride) + { + builder.Append(" id: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Id.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SystemData), out propertyOverride); + if (Optional.IsDefined(SystemData) || hasPropertyOverride) + { + builder.Append(" systemData: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{SystemData.ToString()}'"); + } + } + + builder.Append(" properties:"); + builder.AppendLine(" {"); + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ProvisioningState), out propertyOverride); + if (Optional.IsDefined(ProvisioningState) || hasPropertyOverride) + { + builder.Append(" provisioningState: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{ProvisioningState.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PrivateEndpoint), out propertyOverride); + if (Optional.IsDefined(PrivateEndpoint) || hasPropertyOverride) + { + builder.Append(" privateEndpoint: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, PrivateEndpoint, options, 4, false, " privateEndpoint: "); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(GroupIds), out propertyOverride); + if (Optional.IsCollectionDefined(GroupIds) || hasPropertyOverride) + { + if (GroupIds.Any() || hasPropertyOverride) + { + builder.Append(" groupIds: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine("["); + foreach (var item in GroupIds) + { + if (item == null) + { + builder.Append("null"); + continue; + } + if (item.Contains(Environment.NewLine)) + { + builder.AppendLine(" '''"); + builder.AppendLine($"{item}'''"); + } + else + { + builder.AppendLine($" '{item}'"); + } + } + builder.AppendLine(" ]"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ConnectionState), out propertyOverride); + if (Optional.IsDefined(ConnectionState) || hasPropertyOverride) + { + builder.Append(" privateLinkServiceConnectionState: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + BicepSerializationHelpers.AppendChildObject(builder, ConnectionState, options, 4, false, " privateLinkServiceConnectionState: "); + } + } + + builder.AppendLine(" }"); + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + + private void TransformFlattenedOverrides(BicepModelReaderWriterOptions bicepOptions, IDictionary propertyOverrides) + { + foreach (var item in propertyOverrides.ToList()) + { + switch (item.Key) + { + case "PrivateEndpointId": + Dictionary propertyDictionary = new Dictionary(); + propertyDictionary.Add("Id", item.Value); + bicepOptions.PropertyOverrides.Add(PrivateEndpoint, propertyDictionary); + break; + default: + continue; + } + } + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -229,6 +398,8 @@ BinaryData IPersistableModel.Write(Model { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubPrivateEndpointConnectionData)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubPrivateEndpointConnectionData.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubPrivateEndpointConnectionData.cs index 1cf43637416c..f8e932b697b5 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubPrivateEndpointConnectionData.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubPrivateEndpointConnectionData.cs @@ -77,10 +77,12 @@ internal WebPubSubPrivateEndpointConnectionData(ResourceIdentifier id, string na } /// Provisioning state of the resource. + [WirePath("properties.provisioningState")] public WebPubSubProvisioningState? ProvisioningState { get; } /// Private endpoint. internal PrivateEndpoint PrivateEndpoint { get; set; } /// Full qualified Id of the private endpoint. + [WirePath("properties.privateEndpoint.id")] public ResourceIdentifier PrivateEndpointId { get => PrivateEndpoint is null ? default : PrivateEndpoint.Id; @@ -93,8 +95,10 @@ public ResourceIdentifier PrivateEndpointId } /// Group IDs. + [WirePath("properties.groupIds")] public IReadOnlyList GroupIds { get; } /// Connection state of the private endpoint connection. + [WirePath("properties.privateLinkServiceConnectionState")] public WebPubSubPrivateLinkServiceConnectionState ConnectionState { get; set; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubSharedPrivateLinkData.Serialization.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubSharedPrivateLinkData.Serialization.cs index ea4a5b8e8a84..91f64a2e35ff 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubSharedPrivateLinkData.Serialization.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubSharedPrivateLinkData.Serialization.cs @@ -8,6 +8,7 @@ using System; using System.ClientModel.Primitives; using System.Collections.Generic; +using System.Text; using System.Text.Json; using Azure.Core; using Azure.ResourceManager.Models; @@ -219,6 +220,160 @@ internal static WebPubSubSharedPrivateLinkData DeserializeWebPubSubSharedPrivate serializedAdditionalRawData); } + private BinaryData SerializeBicep(ModelReaderWriterOptions options) + { + StringBuilder builder = new StringBuilder(); + BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions; + IDictionary propertyOverrides = null; + bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides); + bool hasPropertyOverride = false; + string propertyOverride = null; + + builder.AppendLine("{"); + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride); + if (Optional.IsDefined(Name) || hasPropertyOverride) + { + builder.Append(" name: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (Name.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{Name}'''"); + } + else + { + builder.AppendLine($"'{Name}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Id), out propertyOverride); + if (Optional.IsDefined(Id) || hasPropertyOverride) + { + builder.Append(" id: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Id.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SystemData), out propertyOverride); + if (Optional.IsDefined(SystemData) || hasPropertyOverride) + { + builder.Append(" systemData: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{SystemData.ToString()}'"); + } + } + + builder.Append(" properties:"); + builder.AppendLine(" {"); + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(GroupId), out propertyOverride); + if (Optional.IsDefined(GroupId) || hasPropertyOverride) + { + builder.Append(" groupId: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (GroupId.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{GroupId}'''"); + } + else + { + builder.AppendLine($"'{GroupId}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PrivateLinkResourceId), out propertyOverride); + if (Optional.IsDefined(PrivateLinkResourceId) || hasPropertyOverride) + { + builder.Append(" privateLinkResourceId: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{PrivateLinkResourceId.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ProvisioningState), out propertyOverride); + if (Optional.IsDefined(ProvisioningState) || hasPropertyOverride) + { + builder.Append(" provisioningState: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{ProvisioningState.Value.ToString()}'"); + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(RequestMessage), out propertyOverride); + if (Optional.IsDefined(RequestMessage) || hasPropertyOverride) + { + builder.Append(" requestMessage: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + if (RequestMessage.Contains(Environment.NewLine)) + { + builder.AppendLine("'''"); + builder.AppendLine($"{RequestMessage}'''"); + } + else + { + builder.AppendLine($"'{RequestMessage}'"); + } + } + } + + hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Status), out propertyOverride); + if (Optional.IsDefined(Status) || hasPropertyOverride) + { + builder.Append(" status: "); + if (hasPropertyOverride) + { + builder.AppendLine($"{propertyOverride}"); + } + else + { + builder.AppendLine($"'{Status.Value.ToString()}'"); + } + } + + builder.AppendLine(" }"); + builder.AppendLine("}"); + return BinaryData.FromString(builder.ToString()); + } + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) { var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; @@ -227,6 +382,8 @@ BinaryData IPersistableModel.Write(ModelReaderWr { case "J": return ModelReaderWriter.Write(this, options); + case "bicep": + return SerializeBicep(options); default: throw new FormatException($"The model {nameof(WebPubSubSharedPrivateLinkData)} does not support writing '{options.Format}' format."); } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubSharedPrivateLinkData.cs b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubSharedPrivateLinkData.cs index 6e0867680e43..61b1b8bd6918 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubSharedPrivateLinkData.cs +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/Generated/WebPubSubSharedPrivateLinkData.cs @@ -78,14 +78,19 @@ internal WebPubSubSharedPrivateLinkData(ResourceIdentifier id, string name, Reso } /// The group id from the provider of resource the shared private link resource is for. + [WirePath("properties.groupId")] public string GroupId { get; set; } /// The resource id of the resource the shared private link resource is for. + [WirePath("properties.privateLinkResourceId")] public ResourceIdentifier PrivateLinkResourceId { get; set; } /// Provisioning state of the resource. + [WirePath("properties.provisioningState")] public WebPubSubProvisioningState? ProvisioningState { get; } /// The request message for requesting approval of the shared private link resource. + [WirePath("properties.requestMessage")] public string RequestMessage { get; set; } /// Status of the shared private link resource. + [WirePath("properties.status")] public WebPubSubSharedPrivateLinkStatus? Status { get; } } } diff --git a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/autorest.md b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/autorest.md index ab26e7000f0c..68b1645608c1 100644 --- a/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/autorest.md +++ b/sdk/webpubsub/Azure.ResourceManager.WebPubSub/src/autorest.md @@ -17,6 +17,7 @@ skip-csproj: true modelerfour: flatten-payloads: false use-model-reader-writer: true +enable-bicep-serialization: true no-property-type-replacement: PrivateEndpoint