From 162f1f82b6ed97b0e65b8884411ab9a46ee0b147 Mon Sep 17 00:00:00 2001 From: Wei Hu Date: Thu, 22 May 2025 14:57:48 +0800 Subject: [PATCH 1/7] wip --- .../src/ManagementOutputLibrary.cs | 3 +- .../src/Providers/ResourceClientProvider.cs | 3 + .../ResourceCollectionClientProvider.cs | 2 + .../ResourceSerializationProvider.cs | 44 + .../Generated/FooResource.Serialization.cs | 20 + .../Local/Mgmt-TypeSpec/tspCodeModel.json | 1574 ++++++++--------- 6 files changed, 809 insertions(+), 837 deletions(-) create mode 100644 eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceSerializationProvider.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooResource.Serialization.cs diff --git a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/ManagementOutputLibrary.cs b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/ManagementOutputLibrary.cs index 1c708ef54d71..9fbe206682ce 100644 --- a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/ManagementOutputLibrary.cs +++ b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/ManagementOutputLibrary.cs @@ -50,7 +50,8 @@ private static void BuildResourceCore(List resources, Li protected override TypeProvider[] BuildTypeProviders() { var (resources, collections) = BuildResources(); - return [.. base.BuildTypeProviders().Where(t => t is not InheritableSystemObjectModelProvider), ArmOperation, GenericArmOperation, .. resources, .. collections, .. resources.Select(r => r.Source)]; + var serializationProviders = resources.SelectMany(r => r.SerializationProviders); + return [.. base.BuildTypeProviders().Where(t => t is not InheritableSystemObjectModelProvider), ArmOperation, GenericArmOperation, .. resources, .. collections, .. resources.Select(r => r.Source), .. resources.SelectMany(r => r.SerializationProviders)]; } } } diff --git a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceClientProvider.cs b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceClientProvider.cs index e3a10af4a3b1..64e7005a264e 100644 --- a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceClientProvider.cs +++ b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceClientProvider.cs @@ -118,6 +118,9 @@ protected override PropertyProvider[] BuildProperties() return [hasDataProperty, dataProperty]; } + protected override TypeProvider[] BuildSerializationProviders() + => [new ResourceSerializationProvider(this)]; + protected override ConstructorProvider[] BuildConstructors() => [ConstructorProviderHelper.BuildMockingConstructor(this), BuildResourceDataConstructor(), BuildResourceIdentifierConstructor()]; diff --git a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceCollectionClientProvider.cs b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceCollectionClientProvider.cs index fe7a6dd037b8..38d85d72664d 100644 --- a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceCollectionClientProvider.cs +++ b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceCollectionClientProvider.cs @@ -52,6 +52,8 @@ public ResourceCollectionClientProvider(InputClient inputClient, ResourceMetadat } } + protected override TypeProvider[] BuildSerializationProviders() => []; + protected override string BuildName() => $"{SpecName}Collection"; protected override CSharpType[] BuildImplements() => diff --git a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceSerializationProvider.cs b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceSerializationProvider.cs new file mode 100644 index 000000000000..7a9ec28dd32a --- /dev/null +++ b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceSerializationProvider.cs @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using Microsoft.TypeSpec.Generator.Expressions; +using Microsoft.TypeSpec.Generator.Primitives; +using Microsoft.TypeSpec.Generator.Providers; +using System.ClientModel.Primitives; +using System.IO; +using static Microsoft.TypeSpec.Generator.Snippets.Snippet; + +namespace Azure.Generator.Management.Providers +{ + internal class ResourceSerializationProvider : TypeProvider + { + private readonly FieldProvider _dataField; + private readonly CSharpType _resourceDataType; + private readonly ResourceClientProvider _resoruce; + public ResourceSerializationProvider(ResourceClientProvider resource) + { + _resoruce = resource; + _resourceDataType = resource.ResourceData.Type; + _dataField = new FieldProvider(FieldModifiers.Private | FieldModifiers.Static, _resourceDataType, "s_dataDeserializationInstance", this); + } + + protected override string BuildName() => _resoruce.Name; + + protected override string BuildRelativeFilePath() + => Path.Combine("src", "Generated", $"{Name}.Serialization.cs"); + + protected override TypeSignatureModifiers BuildDeclarationModifiers() + => TypeSignatureModifiers.Public | TypeSignatureModifiers.Partial; + + protected override CSharpType[] BuildImplements() => [new CSharpType(typeof(IJsonModel<>), _resourceDataType)]; + + protected override FieldProvider[] BuildFields() => [_dataField]; + + protected override PropertyProvider[] BuildProperties() => + [ + new PropertyProvider(null, MethodSignatureModifiers.Private | MethodSignatureModifiers.Static, _resourceDataType, "DataDeserializationInstance", new ExpressionPropertyBody(new AssignmentExpression(_dataField, New.Instance(_resourceDataType))), this) + ]; + + protected override MethodProvider[] BuildMethods() => []; + } +} \ No newline at end of file diff --git a/eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooResource.Serialization.cs b/eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooResource.Serialization.cs new file mode 100644 index 000000000000..55074d9769e6 --- /dev/null +++ b/eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FooResource.Serialization.cs @@ -0,0 +1,20 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.ClientModel.Primitives; +using MgmtTypeSpec.Models; + +namespace MgmtTypeSpec +{ + /// + public partial class FooResource : IJsonModel + { + private static FooData s_dataDeserializationInstance; + + private static FooData DataDeserializationInstance => s_dataDeserializationInstance = new FooData(); + } +} diff --git a/eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/tspCodeModel.json b/eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/tspCodeModel.json index 4308d22a6834..e08424c890a6 100644 --- a/eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/tspCodeModel.json +++ b/eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/tspCodeModel.json @@ -477,235 +477,9 @@ "decorators": [] } ], - "constants": [ - { - "$id": "52", - "kind": "constant", - "name": "listContentType", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "53", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "54", - "kind": "constant", - "name": "listByMongoClusterContentType", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "55", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "56", - "kind": "constant", - "name": "startContentType", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "57", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "58", - "kind": "constant", - "name": "startContentType1", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "59", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "60", - "kind": "constant", - "name": "startContentType2", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "61", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "62", - "kind": "constant", - "name": "startContentType3", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "63", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "64", - "kind": "constant", - "name": "createOrUpdateContentType", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "65", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "66", - "kind": "constant", - "name": "createOrUpdateContentType1", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "67", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "68", - "kind": "constant", - "name": "createOrUpdateContentType2", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "69", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "70", - "kind": "constant", - "name": "createOrUpdateContentType3", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "71", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "72", - "kind": "constant", - "name": "getContentType", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "73", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "74", - "kind": "constant", - "name": "deleteContentType", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "75", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "76", - "kind": "constant", - "name": "deleteContentType1", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "77", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - }, - { - "$id": "78", - "kind": "constant", - "name": "listContentType1", - "namespace": "", - "usage": "None", - "valueType": { - "$id": "79", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, - "value": "application/json", - "decorators": [] - } - ], "models": [ { - "$id": "80", + "$id": "52", "kind": "model", "name": "OperationListResult", "namespace": "Azure.ResourceManager.CommonTypes", @@ -715,34 +489,33 @@ "decorators": [], "properties": [ { - "$id": "81", + "$id": "53", "kind": "property", "name": "value", "serializedName": "value", "doc": "The Operation items on this page", "type": { - "$id": "82", + "$id": "54", "kind": "array", "name": "ArrayOperation", "valueType": { - "$id": "83", + "$id": "55", "kind": "model", "name": "Operation", "namespace": "Azure.ResourceManager.CommonTypes", "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Operation", "usage": "Output,Json", "doc": "Details of a REST API operation, returned from the Resource Provider Operations API", - "summary": "REST API Operation", "decorators": [], "properties": [ { - "$id": "84", + "$id": "56", "kind": "property", "name": "name", "serializedName": "name", "doc": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"", "type": { - "$id": "85", + "$id": "57", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -755,21 +528,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Operation.name", "serializationOptions": { - "$id": "86", + "$id": "58", "json": { - "$id": "87", + "$id": "59", "name": "name" } } }, { - "$id": "88", + "$id": "60", "kind": "property", "name": "isDataAction", "serializedName": "isDataAction", "doc": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for Azure Resource Manager/control-plane operations.", "type": { - "$id": "89", + "$id": "61", "kind": "boolean", "name": "boolean", "crossLanguageDefinitionId": "TypeSpec.boolean", @@ -782,21 +555,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Operation.isDataAction", "serializationOptions": { - "$id": "90", + "$id": "62", "json": { - "$id": "91", + "$id": "63", "name": "isDataAction" } } }, { - "$id": "92", + "$id": "64", "kind": "property", "name": "display", "serializedName": "display", "doc": "Localized display information for this particular operation.", "type": { - "$id": "93", + "$id": "65", "kind": "model", "name": "OperationDisplay", "namespace": "Azure.ResourceManager.CommonTypes", @@ -806,13 +579,13 @@ "decorators": [], "properties": [ { - "$id": "94", + "$id": "66", "kind": "property", "name": "provider", "serializedName": "provider", "doc": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".", "type": { - "$id": "95", + "$id": "67", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -825,21 +598,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationDisplay.provider", "serializationOptions": { - "$id": "96", + "$id": "68", "json": { - "$id": "97", + "$id": "69", "name": "provider" } } }, { - "$id": "98", + "$id": "70", "kind": "property", "name": "resource", "serializedName": "resource", "doc": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".", "type": { - "$id": "99", + "$id": "71", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -852,21 +625,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationDisplay.resource", "serializationOptions": { - "$id": "100", + "$id": "72", "json": { - "$id": "101", + "$id": "73", "name": "resource" } } }, { - "$id": "102", + "$id": "74", "kind": "property", "name": "operation", "serializedName": "operation", "doc": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".", "type": { - "$id": "103", + "$id": "75", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -879,21 +652,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationDisplay.operation", "serializationOptions": { - "$id": "104", + "$id": "76", "json": { - "$id": "105", + "$id": "77", "name": "operation" } } }, { - "$id": "106", + "$id": "78", "kind": "property", "name": "description", "serializedName": "description", "doc": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.", "type": { - "$id": "107", + "$id": "79", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -906,9 +679,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationDisplay.description", "serializationOptions": { - "$id": "108", + "$id": "80", "json": { - "$id": "109", + "$id": "81", "name": "description" } } @@ -922,15 +695,15 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Operation.display", "serializationOptions": { - "$id": "110", + "$id": "82", "json": { - "$id": "111", + "$id": "83", "name": "display" } } }, { - "$id": "112", + "$id": "84", "kind": "property", "name": "origin", "serializedName": "origin", @@ -945,15 +718,15 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Operation.origin", "serializationOptions": { - "$id": "113", + "$id": "85", "json": { - "$id": "114", + "$id": "86", "name": "origin" } } }, { - "$id": "115", + "$id": "87", "kind": "property", "name": "actionType", "serializedName": "actionType", @@ -968,9 +741,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Operation.actionType", "serializationOptions": { - "$id": "116", + "$id": "88", "json": { - "$id": "117", + "$id": "89", "name": "actionType" } } @@ -987,26 +760,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationListResult.value", "serializationOptions": { - "$id": "118", + "$id": "90", "json": { - "$id": "119", + "$id": "91", "name": "value" } } }, { - "$id": "120", + "$id": "92", "kind": "property", "name": "nextLink", "serializedName": "nextLink", "doc": "The link to the next page of items", "type": { - "$id": "121", + "$id": "93", "kind": "url", "name": "ResourceLocation", "crossLanguageDefinitionId": "TypeSpec.Rest.ResourceLocation", "baseType": { - "$id": "122", + "$id": "94", "kind": "url", "name": "url", "crossLanguageDefinitionId": "TypeSpec.url", @@ -1021,9 +794,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationListResult.nextLink", "serializationOptions": { - "$id": "123", + "$id": "95", "json": { - "$id": "124", + "$id": "96", "name": "nextLink" } } @@ -1031,30 +804,29 @@ ] }, { - "$ref": "83" + "$ref": "55" }, { - "$ref": "93" + "$ref": "65" }, { - "$id": "125", + "$id": "97", "kind": "model", "name": "ErrorResponse", "namespace": "Azure.ResourceManager.CommonTypes", "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorResponse", "usage": "Json,Exception", "doc": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", - "summary": "Error response", "decorators": [], "properties": [ { - "$id": "126", + "$id": "98", "kind": "property", "name": "error", "serializedName": "error", "doc": "The error object.", "type": { - "$id": "127", + "$id": "99", "kind": "model", "name": "ErrorDetail", "namespace": "Azure.ResourceManager.CommonTypes", @@ -1064,13 +836,13 @@ "decorators": [], "properties": [ { - "$id": "128", + "$id": "100", "kind": "property", "name": "code", "serializedName": "code", "doc": "The error code.", "type": { - "$id": "129", + "$id": "101", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1083,21 +855,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorDetail.code", "serializationOptions": { - "$id": "130", + "$id": "102", "json": { - "$id": "131", + "$id": "103", "name": "code" } } }, { - "$id": "132", + "$id": "104", "kind": "property", "name": "message", "serializedName": "message", "doc": "The error message.", "type": { - "$id": "133", + "$id": "105", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1110,21 +882,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorDetail.message", "serializationOptions": { - "$id": "134", + "$id": "106", "json": { - "$id": "135", + "$id": "107", "name": "message" } } }, { - "$id": "136", + "$id": "108", "kind": "property", "name": "target", "serializedName": "target", "doc": "The error target.", "type": { - "$id": "137", + "$id": "109", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1137,25 +909,25 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorDetail.target", "serializationOptions": { - "$id": "138", + "$id": "110", "json": { - "$id": "139", + "$id": "111", "name": "target" } } }, { - "$id": "140", + "$id": "112", "kind": "property", "name": "details", "serializedName": "details", "doc": "The error details.", "type": { - "$id": "141", + "$id": "113", "kind": "array", "name": "ArrayErrorDetail", "valueType": { - "$ref": "127" + "$ref": "99" }, "crossLanguageDefinitionId": "TypeSpec.Array", "decorators": [] @@ -1167,25 +939,25 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorDetail.details", "serializationOptions": { - "$id": "142", + "$id": "114", "json": { - "$id": "143", + "$id": "115", "name": "details" } } }, { - "$id": "144", + "$id": "116", "kind": "property", "name": "additionalInfo", "serializedName": "additionalInfo", "doc": "The error additional info.", "type": { - "$id": "145", + "$id": "117", "kind": "array", "name": "ArrayErrorAdditionalInfo", "valueType": { - "$id": "146", + "$id": "118", "kind": "model", "name": "ErrorAdditionalInfo", "namespace": "Azure.ResourceManager.CommonTypes", @@ -1195,13 +967,13 @@ "decorators": [], "properties": [ { - "$id": "147", + "$id": "119", "kind": "property", "name": "type", "serializedName": "type", "doc": "The additional info type.", "type": { - "$id": "148", + "$id": "120", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1214,21 +986,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorAdditionalInfo.type", "serializationOptions": { - "$id": "149", + "$id": "121", "json": { - "$id": "150", + "$id": "122", "name": "type" } } }, { - "$id": "151", + "$id": "123", "kind": "property", "name": "info", "serializedName": "info", "doc": "The additional info.", "type": { - "$id": "152", + "$id": "124", "kind": "model", "name": "ErrorAdditionalInfoInfo", "namespace": "Azure.ResourceManager.CommonTypes", @@ -1244,9 +1016,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorAdditionalInfo.info", "serializationOptions": { - "$id": "153", + "$id": "125", "json": { - "$id": "154", + "$id": "126", "name": "info" } } @@ -1263,9 +1035,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorDetail.additionalInfo", "serializationOptions": { - "$id": "155", + "$id": "127", "json": { - "$id": "156", + "$id": "128", "name": "additionalInfo" } } @@ -1279,9 +1051,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ErrorResponse.error", "serializationOptions": { - "$id": "157", + "$id": "129", "json": { - "$id": "158", + "$id": "130", "name": "error" } } @@ -1289,16 +1061,16 @@ ] }, { - "$ref": "127" + "$ref": "99" }, { - "$ref": "146" + "$ref": "118" }, { - "$ref": "152" + "$ref": "124" }, { - "$id": "159", + "$id": "131", "kind": "model", "name": "PrivateLinkResourceListResult", "namespace": "Azure.ResourceManager", @@ -1308,17 +1080,17 @@ "decorators": [], "properties": [ { - "$id": "160", + "$id": "132", "kind": "property", "name": "value", "serializedName": "value", "doc": "The PrivateLinkResource items on this page", "type": { - "$id": "161", + "$id": "133", "kind": "array", "name": "ArrayPrivateLinkResource", "valueType": { - "$id": "162", + "$id": "134", "kind": "model", "name": "PrivateLinkResource", "namespace": "MgmtTypeSpec", @@ -1327,47 +1099,45 @@ "doc": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "decorators": [ { - "$id": "163", + "$id": "135", "name": "Azure.ResourceManager.Private.@armResourceInternal", "arguments": { - "$id": "164" + "$id": "136" } } ], "baseModel": { - "$id": "165", + "$id": "137", "kind": "model", "name": "ProxyResource", "namespace": "Azure.ResourceManager.CommonTypes", "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ProxyResource", "usage": "Output,Json", "doc": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location", - "summary": "Proxy Resource", "decorators": [], "baseModel": { - "$id": "166", + "$id": "138", "kind": "model", "name": "Resource", "namespace": "Azure.ResourceManager.CommonTypes", "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Resource", "usage": "Input,Output,Json,LroInitial,LroFinalEnvelope", "doc": "Common fields that are returned in the response for all Azure Resource Manager resources", - "summary": "Resource", "decorators": [], "properties": [ { - "$id": "167", + "$id": "139", "kind": "property", "name": "id", "serializedName": "id", "doc": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}", "type": { - "$id": "168", + "$id": "140", "kind": "string", "name": "armResourceIdentifier", "crossLanguageDefinitionId": "Azure.Core.armResourceIdentifier", "baseType": { - "$id": "169", + "$id": "141", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1382,21 +1152,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Resource.id", "serializationOptions": { - "$id": "170", + "$id": "142", "json": { - "$id": "171", + "$id": "143", "name": "id" } } }, { - "$id": "172", + "$id": "144", "kind": "property", "name": "name", "serializedName": "name", "doc": "The name of the resource", "type": { - "$id": "173", + "$id": "145", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1409,26 +1179,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Resource.name", "serializationOptions": { - "$id": "174", + "$id": "146", "json": { - "$id": "175", + "$id": "147", "name": "name" } } }, { - "$id": "176", + "$id": "148", "kind": "property", "name": "type", "serializedName": "type", "doc": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"", "type": { - "$id": "177", + "$id": "149", "kind": "string", "name": "armResourceType", "crossLanguageDefinitionId": "Azure.Core.armResourceType", "baseType": { - "$id": "178", + "$id": "150", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1443,21 +1213,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Resource.type", "serializationOptions": { - "$id": "179", + "$id": "151", "json": { - "$id": "180", + "$id": "152", "name": "type" } } }, { - "$id": "181", + "$id": "153", "kind": "property", "name": "systemData", "serializedName": "systemData", "doc": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", "type": { - "$id": "182", + "$id": "154", "kind": "model", "name": "SystemData", "namespace": "Azure.ResourceManager.CommonTypes", @@ -1467,13 +1237,13 @@ "decorators": [], "properties": [ { - "$id": "183", + "$id": "155", "kind": "property", "name": "createdBy", "serializedName": "createdBy", "doc": "The identity that created the resource.", "type": { - "$id": "184", + "$id": "156", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1486,15 +1256,15 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.SystemData.createdBy", "serializationOptions": { - "$id": "185", + "$id": "157", "json": { - "$id": "186", + "$id": "158", "name": "createdBy" } } }, { - "$id": "187", + "$id": "159", "kind": "property", "name": "createdByType", "serializedName": "createdByType", @@ -1509,26 +1279,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.SystemData.createdByType", "serializationOptions": { - "$id": "188", + "$id": "160", "json": { - "$id": "189", + "$id": "161", "name": "createdByType" } } }, { - "$id": "190", + "$id": "162", "kind": "property", "name": "createdAt", "serializedName": "createdAt", "doc": "The timestamp of resource creation (UTC).", "type": { - "$id": "191", + "$id": "163", "kind": "utcDateTime", "name": "utcDateTime", "encode": "rfc3339", "wireType": { - "$id": "192", + "$id": "164", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1544,21 +1314,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.SystemData.createdAt", "serializationOptions": { - "$id": "193", + "$id": "165", "json": { - "$id": "194", + "$id": "166", "name": "createdAt" } } }, { - "$id": "195", + "$id": "167", "kind": "property", "name": "lastModifiedBy", "serializedName": "lastModifiedBy", "doc": "The identity that last modified the resource.", "type": { - "$id": "196", + "$id": "168", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1571,15 +1341,15 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.SystemData.lastModifiedBy", "serializationOptions": { - "$id": "197", + "$id": "169", "json": { - "$id": "198", + "$id": "170", "name": "lastModifiedBy" } } }, { - "$id": "199", + "$id": "171", "kind": "property", "name": "lastModifiedByType", "serializedName": "lastModifiedByType", @@ -1594,26 +1364,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.SystemData.lastModifiedByType", "serializationOptions": { - "$id": "200", + "$id": "172", "json": { - "$id": "201", + "$id": "173", "name": "lastModifiedByType" } } }, { - "$id": "202", + "$id": "174", "kind": "property", "name": "lastModifiedAt", "serializedName": "lastModifiedAt", "doc": "The timestamp of resource last modification (UTC)", "type": { - "$id": "203", + "$id": "175", "kind": "utcDateTime", "name": "utcDateTime", "encode": "rfc3339", "wireType": { - "$id": "204", + "$id": "176", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1629,9 +1399,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.SystemData.lastModifiedAt", "serializationOptions": { - "$id": "205", + "$id": "177", "json": { - "$id": "206", + "$id": "178", "name": "lastModifiedAt" } } @@ -1645,9 +1415,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.Resource.systemData", "serializationOptions": { - "$id": "207", + "$id": "179", "json": { - "$id": "208", + "$id": "180", "name": "systemData" } } @@ -1658,13 +1428,13 @@ }, "properties": [ { - "$id": "209", + "$id": "181", "kind": "property", "name": "properties", "serializedName": "properties", "doc": "The resource-specific properties for this resource.", "type": { - "$id": "210", + "$id": "182", "kind": "model", "name": "PrivateLinkResourceProperties", "namespace": "Azure.ResourceManager.CommonTypes", @@ -1674,13 +1444,13 @@ "decorators": [], "properties": [ { - "$id": "211", + "$id": "183", "kind": "property", "name": "groupId", "serializedName": "groupId", "doc": "The private link resource group id.", "type": { - "$id": "212", + "$id": "184", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1693,25 +1463,25 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.PrivateLinkResourceProperties.groupId", "serializationOptions": { - "$id": "213", + "$id": "185", "json": { - "$id": "214", + "$id": "186", "name": "groupId" } } }, { - "$id": "215", + "$id": "187", "kind": "property", "name": "requiredMembers", "serializedName": "requiredMembers", "doc": "The private link resource required member names.", "type": { - "$id": "216", + "$id": "188", "kind": "array", "name": "Array", "valueType": { - "$id": "217", + "$id": "189", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1727,25 +1497,25 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.PrivateLinkResourceProperties.requiredMembers", "serializationOptions": { - "$id": "218", + "$id": "190", "json": { - "$id": "219", + "$id": "191", "name": "requiredMembers" } } }, { - "$id": "220", + "$id": "192", "kind": "property", "name": "requiredZoneNames", "serializedName": "requiredZoneNames", "doc": "The private link resource private link DNS zone name.", "type": { - "$id": "221", + "$id": "193", "kind": "array", "name": "Array", "valueType": { - "$id": "222", + "$id": "194", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1761,9 +1531,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.PrivateLinkResourceProperties.requiredZoneNames", "serializationOptions": { - "$id": "223", + "$id": "195", "json": { - "$id": "224", + "$id": "196", "name": "requiredZoneNames" } } @@ -1777,21 +1547,21 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.PrivateLinkResource.properties", "serializationOptions": { - "$id": "225", + "$id": "197", "json": { - "$id": "226", + "$id": "198", "name": "properties" } } }, { - "$id": "227", + "$id": "199", "kind": "path", "name": "name", "serializedName": "name", "doc": "The name of the private link associated with the Azure resource.", "type": { - "$id": "228", + "$id": "200", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1805,13 +1575,13 @@ "flatten": false }, { - "$id": "229", + "$id": "201", "kind": "property", "name": "identity", "serializedName": "identity", "doc": "The managed service identities assigned to this resource.", "type": { - "$id": "230", + "$id": "202", "kind": "model", "name": "ManagedServiceIdentity", "namespace": "Azure.ResourceManager.CommonTypes", @@ -1821,18 +1591,18 @@ "decorators": [], "properties": [ { - "$id": "231", + "$id": "203", "kind": "property", "name": "principalId", "serializedName": "principalId", "doc": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.", "type": { - "$id": "232", + "$id": "204", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "233", + "$id": "205", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1847,26 +1617,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ManagedServiceIdentity.principalId", "serializationOptions": { - "$id": "234", + "$id": "206", "json": { - "$id": "235", + "$id": "207", "name": "principalId" } } }, { - "$id": "236", + "$id": "208", "kind": "property", "name": "tenantId", "serializedName": "tenantId", "doc": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.", "type": { - "$id": "237", + "$id": "209", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "238", + "$id": "210", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1881,15 +1651,15 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ManagedServiceIdentity.tenantId", "serializationOptions": { - "$id": "239", + "$id": "211", "json": { - "$id": "240", + "$id": "212", "name": "tenantId" } } }, { - "$id": "241", + "$id": "213", "kind": "property", "name": "type", "serializedName": "type", @@ -1904,34 +1674,34 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ManagedServiceIdentity.type", "serializationOptions": { - "$id": "242", + "$id": "214", "json": { - "$id": "243", + "$id": "215", "name": "type" } } }, { - "$id": "244", + "$id": "216", "kind": "property", "name": "userAssignedIdentities", "serializedName": "userAssignedIdentities", "doc": "The identities assigned to this resource by the user.", "type": { - "$id": "245", + "$id": "217", "kind": "dict", "keyType": { - "$id": "246", + "$id": "218", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", "decorators": [] }, "valueType": { - "$id": "247", + "$id": "219", "kind": "nullable", "type": { - "$id": "248", + "$id": "220", "kind": "model", "name": "UserAssignedIdentity", "namespace": "Azure.ResourceManager.CommonTypes", @@ -1941,18 +1711,18 @@ "decorators": [], "properties": [ { - "$id": "249", + "$id": "221", "kind": "property", - "name": "principalId", - "serializedName": "principalId", - "doc": "The principal ID of the assigned identity.", + "name": "clientId", + "serializedName": "clientId", + "doc": "The client ID of the assigned identity.", "type": { - "$id": "250", + "$id": "222", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "251", + "$id": "223", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1965,28 +1735,28 @@ "discriminator": false, "flatten": false, "decorators": [], - "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.UserAssignedIdentity.principalId", + "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.UserAssignedIdentity.clientId", "serializationOptions": { - "$id": "252", + "$id": "224", "json": { - "$id": "253", - "name": "principalId" + "$id": "225", + "name": "clientId" } } }, { - "$id": "254", + "$id": "226", "kind": "property", - "name": "clientId", - "serializedName": "clientId", - "doc": "The client ID of the assigned identity.", + "name": "principalId", + "serializedName": "principalId", + "doc": "The principal ID of the assigned identity.", "type": { - "$id": "255", + "$id": "227", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "256", + "$id": "228", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -1999,12 +1769,12 @@ "discriminator": false, "flatten": false, "decorators": [], - "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.UserAssignedIdentity.clientId", + "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.UserAssignedIdentity.principalId", "serializationOptions": { - "$id": "257", + "$id": "229", "json": { - "$id": "258", - "name": "clientId" + "$id": "230", + "name": "principalId" } } } @@ -2021,9 +1791,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ManagedServiceIdentity.userAssignedIdentities", "serializationOptions": { - "$id": "259", + "$id": "231", "json": { - "$id": "260", + "$id": "232", "name": "userAssignedIdentities" } } @@ -2037,9 +1807,9 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.PrivateLinkResource.identity", "serializationOptions": { - "$id": "261", + "$id": "233", "json": { - "$id": "262", + "$id": "234", "name": "identity" } } @@ -2056,26 +1826,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ResourceListResult.value", "serializationOptions": { - "$id": "263", + "$id": "235", "json": { - "$id": "264", + "$id": "236", "name": "value" } } }, { - "$id": "265", + "$id": "237", "kind": "property", "name": "nextLink", "serializedName": "nextLink", "doc": "The link to the next page of items", "type": { - "$id": "266", + "$id": "238", "kind": "url", "name": "ResourceLocation", "crossLanguageDefinitionId": "TypeSpec.Rest.ResourceLocation", "baseType": { - "$id": "267", + "$id": "239", "kind": "url", "name": "url", "crossLanguageDefinitionId": "TypeSpec.url", @@ -2090,9 +1860,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ResourceListResult.nextLink", "serializationOptions": { - "$id": "268", + "$id": "240", "json": { - "$id": "269", + "$id": "241", "name": "nextLink" } } @@ -2100,28 +1870,28 @@ ] }, { - "$ref": "162" + "$ref": "134" }, { - "$ref": "210" + "$ref": "182" }, { - "$ref": "230" + "$ref": "202" }, { - "$ref": "248" + "$ref": "220" }, { - "$ref": "165" + "$ref": "137" }, { - "$ref": "166" + "$ref": "138" }, { - "$ref": "182" + "$ref": "154" }, { - "$id": "270", + "$id": "242", "kind": "model", "name": "StartParameterBody", "namespace": "MgmtTypeSpec", @@ -2131,7 +1901,7 @@ "properties": [] }, { - "$id": "271", + "$id": "243", "kind": "model", "name": "StartRequest", "namespace": "MgmtTypeSpec", @@ -2141,13 +1911,13 @@ "decorators": [], "properties": [ { - "$id": "272", + "$id": "244", "kind": "property", "name": "startVm", "serializedName": "startVm", "doc": "The boolean value indicates whether to start the virtual machines before starting the SAP instances.", "type": { - "$id": "273", + "$id": "245", "kind": "boolean", "name": "boolean", "crossLanguageDefinitionId": "TypeSpec.boolean", @@ -2160,9 +1930,9 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.StartRequest.startVm", "serializationOptions": { - "$id": "274", + "$id": "246", "json": { - "$id": "275", + "$id": "247", "name": "startVm" } } @@ -2170,7 +1940,7 @@ ] }, { - "$id": "276", + "$id": "248", "kind": "model", "name": "OperationStatusResult", "namespace": "Azure.ResourceManager.CommonTypes", @@ -2180,18 +1950,18 @@ "decorators": [], "properties": [ { - "$id": "277", + "$id": "249", "kind": "property", "name": "id", "serializedName": "id", "doc": "Fully qualified ID for the async operation.", "type": { - "$id": "278", + "$id": "250", "kind": "string", "name": "armResourceIdentifier", "crossLanguageDefinitionId": "Azure.Core.armResourceIdentifier", "baseType": { - "$id": "279", + "$id": "251", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2206,21 +1976,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.id", "serializationOptions": { - "$id": "280", + "$id": "252", "json": { - "$id": "281", + "$id": "253", "name": "id" } } }, { - "$id": "282", + "$id": "254", "kind": "property", "name": "name", "serializedName": "name", "doc": "Name of the async operation.", "type": { - "$id": "283", + "$id": "255", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2233,21 +2003,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.name", "serializationOptions": { - "$id": "284", + "$id": "256", "json": { - "$id": "285", + "$id": "257", "name": "name" } } }, { - "$id": "286", + "$id": "258", "kind": "property", "name": "status", "serializedName": "status", "doc": "Operation status.", "type": { - "$id": "287", + "$id": "259", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2260,21 +2030,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.status", "serializationOptions": { - "$id": "288", + "$id": "260", "json": { - "$id": "289", + "$id": "261", "name": "status" } } }, { - "$id": "290", + "$id": "262", "kind": "property", "name": "percentComplete", "serializedName": "percentComplete", "doc": "Percent of the operation that is complete.", "type": { - "$id": "291", + "$id": "263", "kind": "float64", "name": "float64", "crossLanguageDefinitionId": "TypeSpec.float64", @@ -2287,26 +2057,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.percentComplete", "serializationOptions": { - "$id": "292", + "$id": "264", "json": { - "$id": "293", + "$id": "265", "name": "percentComplete" } } }, { - "$id": "294", + "$id": "266", "kind": "property", "name": "startTime", "serializedName": "startTime", "doc": "The start time of the operation.", "type": { - "$id": "295", + "$id": "267", "kind": "utcDateTime", "name": "utcDateTime", "encode": "rfc3339", "wireType": { - "$id": "296", + "$id": "268", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2322,26 +2092,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.startTime", "serializationOptions": { - "$id": "297", + "$id": "269", "json": { - "$id": "298", + "$id": "270", "name": "startTime" } } }, { - "$id": "299", + "$id": "271", "kind": "property", "name": "endTime", "serializedName": "endTime", "doc": "The end time of the operation.", "type": { - "$id": "300", + "$id": "272", "kind": "utcDateTime", "name": "utcDateTime", "encode": "rfc3339", "wireType": { - "$id": "301", + "$id": "273", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2357,25 +2127,25 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.endTime", "serializationOptions": { - "$id": "302", + "$id": "274", "json": { - "$id": "303", + "$id": "275", "name": "endTime" } } }, { - "$id": "304", + "$id": "276", "kind": "property", "name": "operations", "serializedName": "operations", "doc": "The operations list.", "type": { - "$id": "305", + "$id": "277", "kind": "array", "name": "ArrayOperationStatusResult", "valueType": { - "$ref": "276" + "$ref": "248" }, "crossLanguageDefinitionId": "TypeSpec.Array", "decorators": [] @@ -2387,21 +2157,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.operations", "serializationOptions": { - "$id": "306", + "$id": "278", "json": { - "$id": "307", + "$id": "279", "name": "operations" } } }, { - "$id": "308", + "$id": "280", "kind": "property", "name": "error", "serializedName": "error", "doc": "If present, details of the operation error.", "type": { - "$ref": "127" + "$ref": "99" }, "optional": true, "readOnly": false, @@ -2410,31 +2180,24 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.error", "serializationOptions": { - "$id": "309", + "$id": "281", "json": { - "$id": "310", + "$id": "282", "name": "error" } } }, { - "$id": "311", + "$id": "283", "kind": "property", "name": "resourceId", "serializedName": "resourceId", "doc": "Fully qualified ID of the resource against which the original async operation was started.", "type": { - "$id": "312", + "$id": "284", "kind": "string", - "name": "armResourceIdentifier", - "crossLanguageDefinitionId": "Azure.Core.armResourceIdentifier", - "baseType": { - "$id": "313", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string", - "decorators": [] - }, + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", "decorators": [] }, "optional": true, @@ -2444,9 +2207,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.OperationStatusResult.resourceId", "serializationOptions": { - "$id": "314", + "$id": "285", "json": { - "$id": "315", + "$id": "286", "name": "resourceId" } } @@ -2454,7 +2217,7 @@ ] }, { - "$id": "316", + "$id": "287", "kind": "model", "name": "ArmOperationStatusResourceProvisioningState", "namespace": "Azure.ResourceManager", @@ -2464,7 +2227,7 @@ "decorators": [], "properties": [ { - "$id": "317", + "$id": "288", "kind": "property", "name": "status", "serializedName": "status", @@ -2479,21 +2242,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ArmOperationStatus.status", "serializationOptions": { - "$id": "318", + "$id": "289", "json": { - "$id": "319", + "$id": "290", "name": "status" } } }, { - "$id": "320", + "$id": "291", "kind": "path", "name": "id", "serializedName": "id", "doc": "The unique identifier for the operationStatus resource", "type": { - "$id": "321", + "$id": "292", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2507,13 +2270,13 @@ "flatten": false }, { - "$id": "322", + "$id": "293", "kind": "property", "name": "name", "serializedName": "name", "doc": "The name of the operationStatus resource", "type": { - "$id": "323", + "$id": "294", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2526,26 +2289,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ArmOperationStatus.name", "serializationOptions": { - "$id": "324", + "$id": "295", "json": { - "$id": "325", + "$id": "296", "name": "name" } } }, { - "$id": "326", + "$id": "297", "kind": "property", "name": "startTime", "serializedName": "startTime", "doc": "Operation start time", "type": { - "$id": "327", + "$id": "298", "kind": "utcDateTime", "name": "utcDateTime", "encode": "rfc3339", "wireType": { - "$id": "328", + "$id": "299", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2561,26 +2324,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ArmOperationStatus.startTime", "serializationOptions": { - "$id": "329", + "$id": "300", "json": { - "$id": "330", + "$id": "301", "name": "startTime" } } }, { - "$id": "331", + "$id": "302", "kind": "property", "name": "endTime", "serializedName": "endTime", "doc": "Operation complete time", "type": { - "$id": "332", + "$id": "303", "kind": "utcDateTime", "name": "utcDateTime", "encode": "rfc3339", "wireType": { - "$id": "333", + "$id": "304", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2596,21 +2359,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ArmOperationStatus.endTime", "serializationOptions": { - "$id": "334", + "$id": "305", "json": { - "$id": "335", + "$id": "306", "name": "endTime" } } }, { - "$id": "336", + "$id": "307", "kind": "property", "name": "percentComplete", "serializedName": "percentComplete", "doc": "The progress made toward completing the operation", "type": { - "$id": "337", + "$id": "308", "kind": "float64", "name": "float64", "crossLanguageDefinitionId": "TypeSpec.float64", @@ -2623,21 +2386,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ArmOperationStatus.percentComplete", "serializationOptions": { - "$id": "338", + "$id": "309", "json": { - "$id": "339", + "$id": "310", "name": "percentComplete" } } }, { - "$id": "340", + "$id": "311", "kind": "property", "name": "error", "serializedName": "error", "doc": "Errors that occurred if the operation ended with Canceled or Failed status", "type": { - "$ref": "127" + "$ref": "99" }, "optional": true, "readOnly": true, @@ -2646,9 +2409,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ArmOperationStatus.error", "serializationOptions": { - "$id": "341", + "$id": "312", "json": { - "$id": "342", + "$id": "313", "name": "error" } } @@ -2656,7 +2419,7 @@ ] }, { - "$id": "343", + "$id": "314", "kind": "model", "name": "Foo", "namespace": "MgmtTypeSpec", @@ -2665,45 +2428,44 @@ "doc": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "decorators": [ { - "$id": "344", + "$id": "315", "name": "Azure.ResourceManager.Private.@armResourceInternal", "arguments": { - "$id": "345" + "$id": "316" } } ], "baseModel": { - "$id": "346", + "$id": "317", "kind": "model", "name": "TrackedResource", "namespace": "Azure.ResourceManager.CommonTypes", "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.TrackedResource", "usage": "Input,Output,Json,LroInitial,LroFinalEnvelope", "doc": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'", - "summary": "Tracked Resource", "decorators": [], "baseModel": { - "$ref": "166" + "$ref": "138" }, "properties": [ { - "$id": "347", + "$id": "318", "kind": "property", "name": "tags", "serializedName": "tags", "doc": "Resource tags.", "type": { - "$id": "348", + "$id": "319", "kind": "dict", "keyType": { - "$id": "349", + "$id": "320", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", "decorators": [] }, "valueType": { - "$id": "350", + "$id": "321", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2718,21 +2480,21 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.TrackedResource.tags", "serializationOptions": { - "$id": "351", + "$id": "322", "json": { - "$id": "352", + "$id": "323", "name": "tags" } } }, { - "$id": "353", + "$id": "324", "kind": "property", "name": "location", "serializedName": "location", "doc": "The geo-location where the resource lives", "type": { - "$id": "354", + "$id": "325", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2745,9 +2507,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.TrackedResource.location", "serializationOptions": { - "$id": "355", + "$id": "326", "json": { - "$id": "356", + "$id": "327", "name": "location" } } @@ -2756,13 +2518,13 @@ }, "properties": [ { - "$id": "357", + "$id": "328", "kind": "property", "name": "properties", "serializedName": "properties", "doc": "The resource-specific properties for this resource.", "type": { - "$id": "358", + "$id": "329", "kind": "model", "name": "FooProperties", "namespace": "MgmtTypeSpec", @@ -2770,23 +2532,23 @@ "usage": "Input,Output,Json,LroInitial,LroFinalEnvelope", "decorators": [ { - "$id": "359", + "$id": "330", "name": "Azure.ClientGenerator.Core.@useSystemTextJsonConverter", "arguments": { - "$id": "360", + "$id": "331", "scope": "csharp" } } ], "properties": [ { - "$id": "361", + "$id": "332", "kind": "property", "name": "serviceUrl", "serializedName": "serviceUrl", "doc": "the service url", "type": { - "$id": "362", + "$id": "333", "kind": "url", "name": "url", "crossLanguageDefinitionId": "TypeSpec.url", @@ -2799,21 +2561,21 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.FooProperties.serviceUrl", "serializationOptions": { - "$id": "363", + "$id": "334", "json": { - "$id": "364", + "$id": "335", "name": "serviceUrl" } } }, { - "$id": "365", + "$id": "336", "kind": "property", "name": "something", "serializedName": "something", "doc": "something", "type": { - "$id": "366", + "$id": "337", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2826,21 +2588,21 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.FooProperties.something", "serializationOptions": { - "$id": "367", + "$id": "338", "json": { - "$id": "368", + "$id": "339", "name": "something" } } }, { - "$id": "369", + "$id": "340", "kind": "property", "name": "boolValue", "serializedName": "boolValue", "doc": "boolean value", "type": { - "$id": "370", + "$id": "341", "kind": "boolean", "name": "boolean", "crossLanguageDefinitionId": "TypeSpec.boolean", @@ -2853,21 +2615,21 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.FooProperties.boolValue", "serializationOptions": { - "$id": "371", + "$id": "342", "json": { - "$id": "372", + "$id": "343", "name": "boolValue" } } }, { - "$id": "373", + "$id": "344", "kind": "property", "name": "floatValue", "serializedName": "floatValue", "doc": "float value", "type": { - "$id": "374", + "$id": "345", "kind": "float32", "name": "float32", "crossLanguageDefinitionId": "TypeSpec.float32", @@ -2880,21 +2642,21 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.FooProperties.floatValue", "serializationOptions": { - "$id": "375", + "$id": "346", "json": { - "$id": "376", + "$id": "347", "name": "floatValue" } } }, { - "$id": "377", + "$id": "348", "kind": "property", "name": "doubleValue", "serializedName": "doubleValue", "doc": "double value", "type": { - "$id": "378", + "$id": "349", "kind": "float64", "name": "float64", "crossLanguageDefinitionId": "TypeSpec.float64", @@ -2907,9 +2669,9 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.FooProperties.doubleValue", "serializationOptions": { - "$id": "379", + "$id": "350", "json": { - "$id": "380", + "$id": "351", "name": "doubleValue" } } @@ -2923,21 +2685,21 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.Foo.properties", "serializationOptions": { - "$id": "381", + "$id": "352", "json": { - "$id": "382", + "$id": "353", "name": "properties" } } }, { - "$id": "383", + "$id": "354", "kind": "path", "name": "name", "serializedName": "name", "doc": "The name of the Foo", "type": { - "$id": "384", + "$id": "355", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2951,12 +2713,12 @@ "flatten": false }, { - "$id": "385", + "$id": "356", "kind": "property", "name": "extendedLocation", "serializedName": "extendedLocation", "type": { - "$id": "386", + "$id": "357", "kind": "model", "name": "ExtendedLocation", "namespace": "Azure.ResourceManager.CommonTypes", @@ -2966,13 +2728,13 @@ "decorators": [], "properties": [ { - "$id": "387", + "$id": "358", "kind": "property", "name": "name", "serializedName": "name", "doc": "The name of the extended location.", "type": { - "$id": "388", + "$id": "359", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -2985,15 +2747,15 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ExtendedLocation.name", "serializationOptions": { - "$id": "389", + "$id": "360", "json": { - "$id": "390", + "$id": "361", "name": "name" } } }, { - "$id": "391", + "$id": "362", "kind": "property", "name": "type", "serializedName": "type", @@ -3008,9 +2770,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.CommonTypes.ExtendedLocation.type", "serializationOptions": { - "$id": "392", + "$id": "363", "json": { - "$id": "393", + "$id": "364", "name": "type" } } @@ -3024,9 +2786,9 @@ "decorators": [], "crossLanguageDefinitionId": "MgmtTypeSpec.Foo.extendedLocation", "serializationOptions": { - "$id": "394", + "$id": "365", "json": { - "$id": "395", + "$id": "366", "name": "extendedLocation" } } @@ -3034,16 +2796,16 @@ ] }, { - "$ref": "358" + "$ref": "329" }, { - "$ref": "386" + "$ref": "357" }, { - "$ref": "346" + "$ref": "317" }, { - "$id": "396", + "$id": "367", "kind": "model", "name": "FooListResult", "namespace": "Azure.ResourceManager", @@ -3053,17 +2815,17 @@ "decorators": [], "properties": [ { - "$id": "397", + "$id": "368", "kind": "property", "name": "value", "serializedName": "value", "doc": "The Foo items on this page", "type": { - "$id": "398", + "$id": "369", "kind": "array", "name": "ArrayFoo", "valueType": { - "$ref": "343" + "$ref": "314" }, "crossLanguageDefinitionId": "TypeSpec.Array", "decorators": [] @@ -3075,26 +2837,26 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ResourceListResult.value", "serializationOptions": { - "$id": "399", + "$id": "370", "json": { - "$id": "400", + "$id": "371", "name": "value" } } }, { - "$id": "401", + "$id": "372", "kind": "property", "name": "nextLink", "serializedName": "nextLink", "doc": "The link to the next page of items", "type": { - "$id": "402", + "$id": "373", "kind": "url", "name": "ResourceLocation", "crossLanguageDefinitionId": "TypeSpec.Rest.ResourceLocation", "baseType": { - "$id": "403", + "$id": "374", "kind": "url", "name": "url", "crossLanguageDefinitionId": "TypeSpec.url", @@ -3109,9 +2871,9 @@ "decorators": [], "crossLanguageDefinitionId": "Azure.ResourceManager.ResourceListResult.nextLink", "serializationOptions": { - "$id": "404", + "$id": "375", "json": { - "$id": "405", + "$id": "376", "name": "nextLink" } } @@ -3121,19 +2883,19 @@ ], "clients": [ { - "$id": "406", + "$id": "377", "kind": "client", "name": "MgmtTypeSpecClient", "namespace": "MgmtTypeSpec", "methods": [], "parameters": [ { - "$id": "407", + "$id": "378", "name": "endpoint", "nameInRequest": "endpoint", "doc": "Service host", "type": { - "$id": "408", + "$id": "379", "kind": "url", "name": "url", "crossLanguageDefinitionId": "TypeSpec.url" @@ -3147,9 +2909,9 @@ "explode": false, "kind": "Client", "defaultValue": { - "$id": "409", + "$id": "380", "type": { - "$id": "410", + "$id": "381", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -3160,10 +2922,10 @@ ], "decorators": [ { - "$id": "411", + "$id": "382", "name": "Azure.ResourceManager.@armProviderNamespace", "arguments": { - "$id": "412" + "$id": "383" } } ], @@ -3173,13 +2935,13 @@ ], "children": [ { - "$id": "413", + "$id": "384", "kind": "client", "name": "Operations", "namespace": "MgmtTypeSpec", "methods": [ { - "$id": "414", + "$id": "385", "kind": "paging", "name": "list", "accessibility": "public", @@ -3188,19 +2950,19 @@ ], "doc": "List the operations for the provider", "operation": { - "$id": "415", + "$id": "386", "name": "list", "resourceName": "Operations", "doc": "List the operations for the provider", "accessibility": "public", "parameters": [ { - "$id": "416", + "$id": "387", "name": "apiVersion", "nameInRequest": "api-version", "doc": "The API version to use for this operation.", "type": { - "$id": "417", + "$id": "388", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3214,9 +2976,9 @@ "isRequired": true, "kind": "Client", "defaultValue": { - "$id": "418", + "$id": "389", "type": { - "$id": "419", + "$id": "390", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -3227,11 +2989,21 @@ "skipUrlEncoding": false }, { - "$id": "420", + "$id": "391", "name": "accept", "nameInRequest": "Accept", "type": { - "$ref": "52" + "$id": "392", + "kind": "constant", + "valueType": { + "$id": "393", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -3246,12 +3018,12 @@ ], "responses": [ { - "$id": "421", + "$id": "394", "statusCodes": [ 200 ], "bodyType": { - "$ref": "80" + "$ref": "52" }, "headers": [], "isErrorResponse": false, @@ -3271,11 +3043,11 @@ }, "parameters": [ { - "$id": "422", + "$id": "395", "name": "accept", "nameInRequest": "accept", "type": { - "$ref": "52" + "$ref": "392" }, "location": "Header", "isApiVersion": false, @@ -3289,13 +3061,13 @@ } ], "response": { - "$id": "423", + "$id": "396", "type": { - "$id": "424", + "$id": "397", "kind": "array", "name": "ArrayOperation", "valueType": { - "$ref": "83" + "$ref": "55" }, "crossLanguageDefinitionId": "TypeSpec.Array", "decorators": [] @@ -3309,12 +3081,12 @@ "generateProtocol": true, "crossLanguageDefinitionId": "Azure.ResourceManager.Operations.list", "pagingMetadata": { - "$id": "425", + "$id": "398", "itemPropertySegments": [ "value" ], "nextLink": { - "$id": "426", + "$id": "399", "responseSegments": [ "nextLink" ], @@ -3325,12 +3097,12 @@ ], "parameters": [ { - "$id": "427", + "$id": "400", "name": "endpoint", "nameInRequest": "endpoint", "doc": "Service host", "type": { - "$id": "428", + "$id": "401", "kind": "url", "name": "url", "crossLanguageDefinitionId": "TypeSpec.url" @@ -3344,9 +3116,9 @@ "explode": false, "kind": "Client", "defaultValue": { - "$id": "429", + "$id": "402", "type": { - "$id": "430", + "$id": "403", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -3361,17 +3133,17 @@ "2024-05-01" ], "parent": { - "$ref": "406" + "$ref": "377" } }, { - "$id": "431", + "$id": "404", "kind": "client", "name": "PrivateLinks", "namespace": "MgmtTypeSpec", "methods": [ { - "$id": "432", + "$id": "405", "kind": "paging", "name": "GetAllPrivateLinkResources", "accessibility": "public", @@ -3380,19 +3152,19 @@ ], "doc": "list private links on the given resource", "operation": { - "$id": "433", + "$id": "406", "name": "GetAllPrivateLinkResources", "resourceName": "PrivateLinkResource", "doc": "list private links on the given resource", "accessibility": "public", "parameters": [ { - "$id": "434", + "$id": "407", "name": "apiVersion", "nameInRequest": "api-version", "doc": "The API version to use for this operation.", "type": { - "$id": "435", + "$id": "408", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3406,9 +3178,9 @@ "isRequired": true, "kind": "Client", "defaultValue": { - "$id": "436", + "$id": "409", "type": { - "$id": "437", + "$id": "410", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -3419,17 +3191,17 @@ "skipUrlEncoding": false }, { - "$id": "438", + "$id": "411", "name": "subscriptionId", "nameInRequest": "subscriptionId", "doc": "The ID of the target subscription. The value must be an UUID.", "type": { - "$id": "439", + "$id": "412", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "440", + "$id": "413", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3448,12 +3220,12 @@ "skipUrlEncoding": false }, { - "$id": "441", + "$id": "414", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "442", + "$id": "415", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3470,11 +3242,21 @@ "skipUrlEncoding": false }, { - "$id": "443", + "$id": "416", "name": "accept", "nameInRequest": "Accept", "type": { - "$ref": "54" + "$id": "417", + "kind": "constant", + "valueType": { + "$id": "418", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -3489,12 +3271,12 @@ ], "responses": [ { - "$id": "444", + "$id": "419", "statusCodes": [ 200 ], "bodyType": { - "$ref": "159" + "$ref": "131" }, "headers": [], "isErrorResponse": false, @@ -3514,12 +3296,12 @@ }, "parameters": [ { - "$id": "445", + "$id": "420", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "446", + "$id": "421", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3536,11 +3318,11 @@ "skipUrlEncoding": false }, { - "$id": "447", + "$id": "422", "name": "accept", "nameInRequest": "accept", "type": { - "$ref": "54" + "$ref": "417" }, "location": "Header", "isApiVersion": false, @@ -3554,13 +3336,13 @@ } ], "response": { - "$id": "448", + "$id": "423", "type": { - "$id": "449", + "$id": "424", "kind": "array", "name": "ArrayPrivateLinkResource", "valueType": { - "$ref": "162" + "$ref": "134" }, "crossLanguageDefinitionId": "TypeSpec.Array", "decorators": [] @@ -3574,12 +3356,12 @@ "generateProtocol": true, "crossLanguageDefinitionId": "MgmtTypeSpec.PrivateLinks.listByMongoCluster", "pagingMetadata": { - "$id": "450", + "$id": "425", "itemPropertySegments": [ "value" ], "nextLink": { - "$id": "451", + "$id": "426", "responseSegments": [ "nextLink" ], @@ -3588,7 +3370,7 @@ } }, { - "$id": "452", + "$id": "427", "kind": "lro", "name": "start", "accessibility": "public", @@ -3597,19 +3379,19 @@ ], "doc": "Starts the SAP Application Server Instance.", "operation": { - "$id": "453", + "$id": "428", "name": "start", "resourceName": "PrivateLinks", "doc": "Starts the SAP Application Server Instance.", "accessibility": "public", "parameters": [ { - "$id": "454", + "$id": "429", "name": "apiVersion", "nameInRequest": "api-version", "doc": "The API version to use for this operation.", "type": { - "$id": "455", + "$id": "430", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3623,9 +3405,9 @@ "isRequired": true, "kind": "Client", "defaultValue": { - "$id": "456", + "$id": "431", "type": { - "$id": "457", + "$id": "432", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -3636,17 +3418,17 @@ "skipUrlEncoding": false }, { - "$id": "458", + "$id": "433", "name": "subscriptionId", "nameInRequest": "subscriptionId", "doc": "The ID of the target subscription. The value must be an UUID.", "type": { - "$id": "459", + "$id": "434", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "460", + "$id": "435", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3665,12 +3447,12 @@ "skipUrlEncoding": false }, { - "$id": "461", + "$id": "436", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "462", + "$id": "437", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3687,12 +3469,12 @@ "skipUrlEncoding": false }, { - "$id": "463", + "$id": "438", "name": "privateLinkResourceName", "nameInRequest": "privateLinkResourceName", "doc": "The name of the private link associated with the Azure resource.", "type": { - "$id": "464", + "$id": "439", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3709,12 +3491,22 @@ "skipUrlEncoding": false }, { - "$id": "465", + "$id": "440", "name": "contentType", "nameInRequest": "Content-Type", "doc": "Body parameter's content type. Known values are application/json", "type": { - "$ref": "56" + "$id": "441", + "kind": "constant", + "valueType": { + "$id": "442", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -3727,11 +3519,21 @@ "skipUrlEncoding": false }, { - "$id": "466", + "$id": "443", "name": "accept", "nameInRequest": "Accept", "type": { - "$ref": "58" + "$id": "444", + "kind": "constant", + "valueType": { + "$id": "445", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -3744,12 +3546,12 @@ "skipUrlEncoding": false }, { - "$id": "467", + "$id": "446", "name": "body", "nameInRequest": "body", "doc": "SAP Application server instance start request body.", "type": { - "$ref": "271" + "$ref": "243" }, "location": "Body", "isApiVersion": false, @@ -3764,18 +3566,18 @@ ], "responses": [ { - "$id": "468", + "$id": "447", "statusCodes": [ 202 ], "headers": [ { - "$id": "469", + "$id": "448", "name": "location", "nameInResponse": "Location", "doc": "The Location header contains the URL where the status of the long running operation can be checked.", "type": { - "$id": "470", + "$id": "449", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3783,12 +3585,12 @@ } }, { - "$id": "471", + "$id": "450", "name": "retryAfter", "nameInResponse": "Retry-After", "doc": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": { - "$id": "472", + "$id": "451", "kind": "int32", "name": "int32", "crossLanguageDefinitionId": "TypeSpec.int32", @@ -3799,12 +3601,12 @@ "isErrorResponse": false }, { - "$id": "473", + "$id": "452", "statusCodes": [ 200 ], "bodyType": { - "$ref": "276" + "$ref": "248" }, "headers": [], "isErrorResponse": false, @@ -3827,12 +3629,12 @@ }, "parameters": [ { - "$id": "474", + "$id": "453", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "475", + "$id": "454", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3849,12 +3651,12 @@ "skipUrlEncoding": false }, { - "$id": "476", + "$id": "455", "name": "privateLinkResourceName", "nameInRequest": "privateLinkResourceName", "doc": "The name of the private link associated with the Azure resource.", "type": { - "$id": "477", + "$id": "456", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -3871,12 +3673,12 @@ "skipUrlEncoding": false }, { - "$id": "478", + "$id": "457", "name": "body", "nameInRequest": "body", "doc": "The content of the action request", "type": { - "$ref": "270" + "$ref": "242" }, "location": "", "isApiVersion": false, @@ -3889,12 +3691,22 @@ "skipUrlEncoding": false }, { - "$id": "479", + "$id": "458", "name": "contentType", "nameInRequest": "contentType", "doc": "Body parameter's content type. Known values are application/json", "type": { - "$ref": "60" + "$id": "459", + "kind": "constant", + "valueType": { + "$id": "460", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -3907,11 +3719,21 @@ "skipUrlEncoding": false }, { - "$id": "480", + "$id": "461", "name": "accept", "nameInRequest": "accept", "type": { - "$ref": "62" + "$id": "462", + "kind": "constant", + "valueType": { + "$id": "463", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -3925,9 +3747,9 @@ } ], "response": { - "$id": "481", + "$id": "464", "type": { - "$ref": "276" + "$ref": "248" } }, "isOverride": false, @@ -3935,15 +3757,15 @@ "generateProtocol": true, "crossLanguageDefinitionId": "MgmtTypeSpec.PrivateLinks.start", "lroMetadata": { - "$id": "482", + "$id": "465", "finalStateVia": 1, "finalResponse": { - "$id": "483", + "$id": "466", "statusCodes": [ 200 ], "bodyType": { - "$ref": "276" + "$ref": "248" } } } @@ -3951,12 +3773,12 @@ ], "parameters": [ { - "$id": "484", + "$id": "467", "name": "endpoint", "nameInRequest": "endpoint", "doc": "Service host", "type": { - "$id": "485", + "$id": "468", "kind": "url", "name": "url", "crossLanguageDefinitionId": "TypeSpec.url" @@ -3970,9 +3792,9 @@ "explode": false, "kind": "Client", "defaultValue": { - "$id": "486", + "$id": "469", "type": { - "$id": "487", + "$id": "470", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -3983,10 +3805,10 @@ ], "decorators": [ { - "$id": "488", + "$id": "471", "name": "Azure.ResourceManager.@armResourceOperations", "arguments": { - "$id": "489" + "$id": "472" } } ], @@ -3995,17 +3817,17 @@ "2024-05-01" ], "parent": { - "$ref": "406" + "$ref": "377" } }, { - "$id": "490", + "$id": "473", "kind": "client", "name": "Foos", "namespace": "MgmtTypeSpec", "methods": [ { - "$id": "491", + "$id": "474", "kind": "lro", "name": "createOrUpdate", "accessibility": "public", @@ -4014,19 +3836,19 @@ ], "doc": "Create a Foo", "operation": { - "$id": "492", + "$id": "475", "name": "createOrUpdate", "resourceName": "Foo", "doc": "Create a Foo", "accessibility": "public", "parameters": [ { - "$id": "493", + "$id": "476", "name": "apiVersion", "nameInRequest": "api-version", "doc": "The API version to use for this operation.", "type": { - "$id": "494", + "$id": "477", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4040,9 +3862,9 @@ "isRequired": true, "kind": "Client", "defaultValue": { - "$id": "495", + "$id": "478", "type": { - "$id": "496", + "$id": "479", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -4053,17 +3875,17 @@ "skipUrlEncoding": false }, { - "$id": "497", + "$id": "480", "name": "subscriptionId", "nameInRequest": "subscriptionId", "doc": "The ID of the target subscription. The value must be an UUID.", "type": { - "$id": "498", + "$id": "481", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "499", + "$id": "482", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4082,12 +3904,12 @@ "skipUrlEncoding": false }, { - "$id": "500", + "$id": "483", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "501", + "$id": "484", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4104,12 +3926,12 @@ "skipUrlEncoding": false }, { - "$id": "502", + "$id": "485", "name": "fooName", "nameInRequest": "fooName", "doc": "The name of the Foo", "type": { - "$id": "503", + "$id": "486", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4126,12 +3948,22 @@ "skipUrlEncoding": false }, { - "$id": "504", + "$id": "487", "name": "contentType", "nameInRequest": "Content-Type", "doc": "Body parameter's content type. Known values are application/json", "type": { - "$ref": "64" + "$id": "488", + "kind": "constant", + "valueType": { + "$id": "489", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -4144,11 +3976,21 @@ "skipUrlEncoding": false }, { - "$id": "505", + "$id": "490", "name": "accept", "nameInRequest": "Accept", "type": { - "$ref": "66" + "$id": "491", + "kind": "constant", + "valueType": { + "$id": "492", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -4161,12 +4003,12 @@ "skipUrlEncoding": false }, { - "$id": "506", + "$id": "493", "name": "resource", "nameInRequest": "resource", "doc": "Resource create parameters.", "type": { - "$ref": "343" + "$ref": "314" }, "location": "Body", "isApiVersion": false, @@ -4181,12 +4023,12 @@ ], "responses": [ { - "$id": "507", + "$id": "494", "statusCodes": [ 200 ], "bodyType": { - "$ref": "343" + "$ref": "314" }, "headers": [], "isErrorResponse": false, @@ -4195,21 +4037,21 @@ ] }, { - "$id": "508", + "$id": "495", "statusCodes": [ 201 ], "bodyType": { - "$ref": "343" + "$ref": "314" }, "headers": [ { - "$id": "509", + "$id": "496", "name": "azureAsyncOperation", "nameInResponse": "Azure-AsyncOperation", "doc": "A link to the status monitor", "type": { - "$id": "510", + "$id": "497", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4217,12 +4059,12 @@ } }, { - "$id": "511", + "$id": "498", "name": "retryAfter", "nameInResponse": "Retry-After", "doc": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": { - "$id": "512", + "$id": "499", "kind": "int32", "name": "int32", "crossLanguageDefinitionId": "TypeSpec.int32", @@ -4248,22 +4090,22 @@ "crossLanguageDefinitionId": "MgmtTypeSpec.Foos.createOrUpdate", "decorators": [ { - "$id": "513", + "$id": "500", "name": "Azure.ResourceManager.@armResourceCreateOrUpdate", "arguments": { - "$id": "514" + "$id": "501" } } ] }, "parameters": [ { - "$id": "515", + "$id": "502", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "516", + "$id": "503", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4280,12 +4122,12 @@ "skipUrlEncoding": false }, { - "$id": "517", + "$id": "504", "name": "fooName", "nameInRequest": "fooName", "doc": "The name of the Foo", "type": { - "$id": "518", + "$id": "505", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4302,12 +4144,12 @@ "skipUrlEncoding": false }, { - "$id": "519", + "$id": "506", "name": "resource", "nameInRequest": "resource", "doc": "Resource create parameters.", "type": { - "$ref": "343" + "$ref": "314" }, "location": "Body", "isApiVersion": false, @@ -4320,12 +4162,22 @@ "skipUrlEncoding": false }, { - "$id": "520", + "$id": "507", "name": "contentType", "nameInRequest": "contentType", "doc": "Body parameter's content type. Known values are application/json", "type": { - "$ref": "68" + "$id": "508", + "kind": "constant", + "valueType": { + "$id": "509", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -4338,11 +4190,21 @@ "skipUrlEncoding": false }, { - "$id": "521", + "$id": "510", "name": "accept", "nameInRequest": "accept", "type": { - "$ref": "70" + "$id": "511", + "kind": "constant", + "valueType": { + "$id": "512", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -4356,9 +4218,9 @@ } ], "response": { - "$id": "522", + "$id": "513", "type": { - "$ref": "343" + "$ref": "314" } }, "isOverride": false, @@ -4366,21 +4228,21 @@ "generateProtocol": true, "crossLanguageDefinitionId": "MgmtTypeSpec.Foos.createOrUpdate", "lroMetadata": { - "$id": "523", + "$id": "514", "finalStateVia": 0, "finalResponse": { - "$id": "524", + "$id": "515", "statusCodes": [ 200 ], "bodyType": { - "$ref": "343" + "$ref": "314" } } } }, { - "$id": "525", + "$id": "516", "kind": "basic", "name": "get", "accessibility": "public", @@ -4389,19 +4251,19 @@ ], "doc": "Get a Foo", "operation": { - "$id": "526", + "$id": "517", "name": "get", "resourceName": "Foo", "doc": "Get a Foo", "accessibility": "public", "parameters": [ { - "$id": "527", + "$id": "518", "name": "apiVersion", "nameInRequest": "api-version", "doc": "The API version to use for this operation.", "type": { - "$id": "528", + "$id": "519", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4415,9 +4277,9 @@ "isRequired": true, "kind": "Client", "defaultValue": { - "$id": "529", + "$id": "520", "type": { - "$id": "530", + "$id": "521", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -4428,17 +4290,17 @@ "skipUrlEncoding": false }, { - "$id": "531", + "$id": "522", "name": "subscriptionId", "nameInRequest": "subscriptionId", "doc": "The ID of the target subscription. The value must be an UUID.", "type": { - "$id": "532", + "$id": "523", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "533", + "$id": "524", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4457,12 +4319,12 @@ "skipUrlEncoding": false }, { - "$id": "534", + "$id": "525", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "535", + "$id": "526", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4479,12 +4341,12 @@ "skipUrlEncoding": false }, { - "$id": "536", + "$id": "527", "name": "fooName", "nameInRequest": "fooName", "doc": "The name of the Foo", "type": { - "$id": "537", + "$id": "528", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4501,11 +4363,21 @@ "skipUrlEncoding": false }, { - "$id": "538", + "$id": "529", "name": "accept", "nameInRequest": "Accept", "type": { - "$ref": "72" + "$id": "530", + "kind": "constant", + "valueType": { + "$id": "531", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -4520,12 +4392,12 @@ ], "responses": [ { - "$id": "539", + "$id": "532", "statusCodes": [ 200 ], "bodyType": { - "$ref": "343" + "$ref": "314" }, "headers": [], "isErrorResponse": false, @@ -4543,22 +4415,22 @@ "crossLanguageDefinitionId": "MgmtTypeSpec.Foos.get", "decorators": [ { - "$id": "540", + "$id": "533", "name": "Azure.ResourceManager.@armResourceRead", "arguments": { - "$id": "541" + "$id": "534" } } ] }, "parameters": [ { - "$id": "542", + "$id": "535", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "543", + "$id": "536", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4575,12 +4447,12 @@ "skipUrlEncoding": false }, { - "$id": "544", + "$id": "537", "name": "fooName", "nameInRequest": "fooName", "doc": "The name of the Foo", "type": { - "$id": "545", + "$id": "538", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4597,11 +4469,11 @@ "skipUrlEncoding": false }, { - "$id": "546", + "$id": "539", "name": "accept", "nameInRequest": "accept", "type": { - "$ref": "72" + "$ref": "530" }, "location": "Header", "isApiVersion": false, @@ -4615,9 +4487,9 @@ } ], "response": { - "$id": "547", + "$id": "540", "type": { - "$ref": "343" + "$ref": "314" } }, "isOverride": false, @@ -4626,7 +4498,7 @@ "crossLanguageDefinitionId": "MgmtTypeSpec.Foos.get" }, { - "$id": "548", + "$id": "541", "kind": "lro", "name": "delete", "accessibility": "public", @@ -4635,19 +4507,19 @@ ], "doc": "Delete a Foo", "operation": { - "$id": "549", + "$id": "542", "name": "delete", "resourceName": "Foo", "doc": "Delete a Foo", "accessibility": "public", "parameters": [ { - "$id": "550", + "$id": "543", "name": "apiVersion", "nameInRequest": "api-version", "doc": "The API version to use for this operation.", "type": { - "$id": "551", + "$id": "544", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4661,9 +4533,9 @@ "isRequired": true, "kind": "Client", "defaultValue": { - "$id": "552", + "$id": "545", "type": { - "$id": "553", + "$id": "546", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -4674,17 +4546,17 @@ "skipUrlEncoding": false }, { - "$id": "554", + "$id": "547", "name": "subscriptionId", "nameInRequest": "subscriptionId", "doc": "The ID of the target subscription. The value must be an UUID.", "type": { - "$id": "555", + "$id": "548", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "556", + "$id": "549", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4703,12 +4575,12 @@ "skipUrlEncoding": false }, { - "$id": "557", + "$id": "550", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "558", + "$id": "551", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4725,12 +4597,12 @@ "skipUrlEncoding": false }, { - "$id": "559", + "$id": "552", "name": "fooName", "nameInRequest": "fooName", "doc": "The name of the Foo", "type": { - "$id": "560", + "$id": "553", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4747,11 +4619,21 @@ "skipUrlEncoding": false }, { - "$id": "561", + "$id": "554", "name": "accept", "nameInRequest": "Accept", "type": { - "$ref": "74" + "$id": "555", + "kind": "constant", + "valueType": { + "$id": "556", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -4766,18 +4648,18 @@ ], "responses": [ { - "$id": "562", + "$id": "557", "statusCodes": [ 202 ], "headers": [ { - "$id": "563", + "$id": "558", "name": "location", "nameInResponse": "Location", "doc": "The Location header contains the URL where the status of the long running operation can be checked.", "type": { - "$id": "564", + "$id": "559", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4785,12 +4667,12 @@ } }, { - "$id": "565", + "$id": "560", "name": "retryAfter", "nameInResponse": "Retry-After", "doc": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": { - "$id": "566", + "$id": "561", "kind": "int32", "name": "int32", "crossLanguageDefinitionId": "TypeSpec.int32", @@ -4801,7 +4683,7 @@ "isErrorResponse": false }, { - "$id": "567", + "$id": "562", "statusCodes": [ 204 ], @@ -4820,12 +4702,12 @@ }, "parameters": [ { - "$id": "568", + "$id": "563", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "569", + "$id": "564", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4842,12 +4724,12 @@ "skipUrlEncoding": false }, { - "$id": "570", + "$id": "565", "name": "fooName", "nameInRequest": "fooName", "doc": "The name of the Foo", "type": { - "$id": "571", + "$id": "566", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4864,11 +4746,21 @@ "skipUrlEncoding": false }, { - "$id": "572", + "$id": "567", "name": "accept", "nameInRequest": "accept", "type": { - "$ref": "76" + "$id": "568", + "kind": "constant", + "valueType": { + "$id": "569", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -4882,17 +4774,17 @@ } ], "response": { - "$id": "573" + "$id": "570" }, "isOverride": false, "generateConvenient": true, "generateProtocol": true, "crossLanguageDefinitionId": "MgmtTypeSpec.Foos.delete", "lroMetadata": { - "$id": "574", + "$id": "571", "finalStateVia": 1, "finalResponse": { - "$id": "575", + "$id": "572", "statusCodes": [ 204 ] @@ -4900,7 +4792,7 @@ } }, { - "$id": "576", + "$id": "573", "kind": "paging", "name": "list", "accessibility": "public", @@ -4909,19 +4801,19 @@ ], "doc": "List Foo resources by resource group", "operation": { - "$id": "577", + "$id": "574", "name": "list", "resourceName": "Foo", "doc": "List Foo resources by resource group", "accessibility": "public", "parameters": [ { - "$id": "578", + "$id": "575", "name": "apiVersion", "nameInRequest": "api-version", "doc": "The API version to use for this operation.", "type": { - "$id": "579", + "$id": "576", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4935,9 +4827,9 @@ "isRequired": true, "kind": "Client", "defaultValue": { - "$id": "580", + "$id": "577", "type": { - "$id": "581", + "$id": "578", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -4948,17 +4840,17 @@ "skipUrlEncoding": false }, { - "$id": "582", + "$id": "579", "name": "subscriptionId", "nameInRequest": "subscriptionId", "doc": "The ID of the target subscription. The value must be an UUID.", "type": { - "$id": "583", + "$id": "580", "kind": "string", "name": "uuid", "crossLanguageDefinitionId": "Azure.Core.uuid", "baseType": { - "$id": "584", + "$id": "581", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4977,12 +4869,12 @@ "skipUrlEncoding": false }, { - "$id": "585", + "$id": "582", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "586", + "$id": "583", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -4999,11 +4891,21 @@ "skipUrlEncoding": false }, { - "$id": "587", + "$id": "584", "name": "accept", "nameInRequest": "Accept", "type": { - "$ref": "78" + "$id": "585", + "kind": "constant", + "valueType": { + "$id": "586", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [] }, "location": "Header", "isApiVersion": false, @@ -5018,12 +4920,12 @@ ], "responses": [ { - "$id": "588", + "$id": "587", "statusCodes": [ 200 ], "bodyType": { - "$ref": "396" + "$ref": "367" }, "headers": [], "isErrorResponse": false, @@ -5043,12 +4945,12 @@ }, "parameters": [ { - "$id": "589", + "$id": "588", "name": "resourceGroupName", "nameInRequest": "resourceGroupName", "doc": "The name of the resource group. The name is case insensitive.", "type": { - "$id": "590", + "$id": "589", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -5065,11 +4967,11 @@ "skipUrlEncoding": false }, { - "$id": "591", + "$id": "590", "name": "accept", "nameInRequest": "accept", "type": { - "$ref": "78" + "$ref": "585" }, "location": "Header", "isApiVersion": false, @@ -5083,13 +4985,13 @@ } ], "response": { - "$id": "592", + "$id": "591", "type": { - "$id": "593", + "$id": "592", "kind": "array", "name": "ArrayFoo", "valueType": { - "$ref": "343" + "$ref": "314" }, "crossLanguageDefinitionId": "TypeSpec.Array", "decorators": [] @@ -5103,12 +5005,12 @@ "generateProtocol": true, "crossLanguageDefinitionId": "MgmtTypeSpec.Foos.list", "pagingMetadata": { - "$id": "594", + "$id": "593", "itemPropertySegments": [ "value" ], "nextLink": { - "$id": "595", + "$id": "594", "responseSegments": [ "nextLink" ], @@ -5119,12 +5021,12 @@ ], "parameters": [ { - "$id": "596", + "$id": "595", "name": "endpoint", "nameInRequest": "endpoint", "doc": "Service host", "type": { - "$id": "597", + "$id": "596", "kind": "url", "name": "url", "crossLanguageDefinitionId": "TypeSpec.url" @@ -5138,9 +5040,9 @@ "explode": false, "kind": "Client", "defaultValue": { - "$id": "598", + "$id": "597", "type": { - "$id": "599", + "$id": "598", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -5151,17 +5053,17 @@ ], "decorators": [ { - "$id": "600", + "$id": "599", "name": "Azure.ResourceManager.@armResourceOperations", "arguments": { - "$id": "601" + "$id": "600" } }, { - "$id": "602", + "$id": "601", "name": "Azure.ClientGenerator.Core.@resourceSchema", "arguments": { - "$id": "603", + "$id": "602", "resourceModel": "MgmtTypeSpec.Foo", "resourceClient": "MgmtTypeSpec.Foos", "isSingleton": false, @@ -5175,16 +5077,16 @@ "2024-05-01" ], "parent": { - "$ref": "406" + "$ref": "377" } } ] } ], "auth": { - "$id": "604", + "$id": "603", "oAuth2": { - "$id": "605", + "$id": "604", "scopes": [ "user_impersonation" ] From fe2c10c0e07c089b9c1e04bd0513ae713a1ea7d3 Mon Sep 17 00:00:00 2001 From: Wei Hu Date: Fri, 23 May 2025 10:40:37 +0800 Subject: [PATCH 2/7] implement methods --- .../ResourceSerializationProvider.cs | 51 ++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceSerializationProvider.cs b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceSerializationProvider.cs index 7a9ec28dd32a..d8e8ef24bb48 100644 --- a/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceSerializationProvider.cs +++ b/eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Providers/ResourceSerializationProvider.cs @@ -1,11 +1,15 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +using Microsoft.TypeSpec.Generator.ClientModel.Snippets; using Microsoft.TypeSpec.Generator.Expressions; using Microsoft.TypeSpec.Generator.Primitives; using Microsoft.TypeSpec.Generator.Providers; +using System; using System.ClientModel.Primitives; +using System.Collections.Generic; using System.IO; +using System.Text.Json; using static Microsoft.TypeSpec.Generator.Snippets.Snippet; namespace Azure.Generator.Management.Providers @@ -39,6 +43,51 @@ protected override PropertyProvider[] BuildProperties() => new PropertyProvider(null, MethodSignatureModifiers.Private | MethodSignatureModifiers.Static, _resourceDataType, "DataDeserializationInstance", new ExpressionPropertyBody(new AssignmentExpression(_dataField, New.Instance(_resourceDataType))), this) ]; - protected override MethodProvider[] BuildMethods() => []; + protected override MethodProvider[] BuildMethods() + { + var jsonModelInterface = new CSharpType(typeof(IJsonModel<>), _resourceDataType); + var options = new ParameterProvider("options", $"", typeof(ModelReaderWriterOptions)); + var iModelTInterface = new CSharpType(typeof(IPersistableModel<>), _resourceDataType); + var data = new ParameterProvider("data", $"", typeof(BinaryData)); + + // void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) + var writer = new ParameterProvider("writer", $"", typeof(Utf8JsonWriter)); + var jsonModelWriteMethod = new MethodProvider( + new MethodSignature(nameof(IJsonModel.Write), null, MethodSignatureModifiers.None, null, null, new[] { writer, options }, ExplicitInterface: jsonModelInterface), + // => ((IJsonModel)Data).Write(writer, options); + new MemberExpression(null, "Data").CastTo(jsonModelInterface).Invoke(nameof(IJsonModel.Write), writer, options), + this); + + // T IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) + var reader = new ParameterProvider("reader", $"", typeof(Utf8JsonReader), isRef: true); + var jsonModelCreatemethod = new MethodProvider( + new MethodSignature(nameof(IJsonModel.Create), null, MethodSignatureModifiers.None, _resourceDataType, null, new[] { reader, options }, ExplicitInterface: jsonModelInterface), + // => ((IJsonModel)DataDeserializationInstance).Create(reader, options); + new MemberExpression(null, "DataDeserializationInstance").CastTo(jsonModelInterface).Invoke(nameof(IJsonModel.Create), reader, options), + this); + + // BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) + var persistableWriteMethod = new MethodProvider( + new MethodSignature(nameof(IPersistableModel.Write), null, MethodSignatureModifiers.None, typeof(BinaryData), null, new[] { options }, ExplicitInterface: iModelTInterface), + // => ModelReaderWriter.Write(Data, options); + Static(typeof(ModelReaderWriter)).Invoke("Write", [new MemberExpression(null, "Data"), options, ModelReaderWriterContextSnippets.Default], new List { _resourceDataType }, false), + this); + + // T IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) + var persistableCreateMethod = new MethodProvider( + new MethodSignature(nameof(IPersistableModel.Create), null, MethodSignatureModifiers.None, _resourceDataType, null, new[] { data, options }, ExplicitInterface: iModelTInterface), + // => ModelReaderWriter.Read(new BinaryData(reader.ValueSequence)); + Static(typeof(ModelReaderWriter)).Invoke("Read", [data, options, ModelReaderWriterContextSnippets.Default], new List { _resourceDataType }, false), + this); + + // ModelReaderWriterFormat IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) + var persistableGetFormatMethod = new MethodProvider( + new MethodSignature(nameof(IPersistableModel.GetFormatFromOptions), null, MethodSignatureModifiers.None, typeof(string), null, new[] { options }, ExplicitInterface: iModelTInterface), + // => DataDeserializationInstance.GetFormatFromOptions(options); + new MemberExpression(null, "DataDeserializationInstance").CastTo(iModelTInterface).Invoke(nameof(IPersistableModel.GetFormatFromOptions), options), + this); + + return [jsonModelWriteMethod, jsonModelCreatemethod, persistableWriteMethod, persistableCreateMethod, persistableGetFormatMethod]; + } } } \ No newline at end of file From 30bdf555ed5116e418e2df1f067dce51dc482af8 Mon Sep 17 00:00:00 2001 From: Wei Hu Date: Fri, 23 May 2025 16:24:06 +0800 Subject: [PATCH 3/7] bump version of Azure.Generator --- eng/Packages.Data.props | 2 +- .../generator/Directory.Build.props | 6 +- .../Generated/FooResource.Serialization.cs | 20 + .../FoosListAsyncCollectionResult.cs | 93 + .../FoosListAsyncCollectionResultOfT.cs | 88 + .../src/Generated/FoosListCollectionResult.cs | 92 + .../Generated/FoosListCollectionResultOfT.cs | 87 + ...teLinkResourcesAsyncCollectionResultOfT.cs | 22 - ...PrivateLinkResourcesCollectionResultOfT.cs | 22 - .../src/Generated/MgmtTypeSpecModelFactory.cs | 1 - .../Models/FooListResult.Serialization.cs | 190 ++ .../src/Generated/Models/FooListResult.cs | 44 + ...ateLinkResourceListResult.Serialization.cs | 190 ++ .../Models/PrivateLinkResourceListResult.cs | 44 + ...ivateLinkResourcesAsyncCollectionResult.cs | 93 + ...teLinkResourcesAsyncCollectionResultOfT.cs | 88 + ...AllPrivateLinkResourcesCollectionResult.cs | 92 + ...PrivateLinkResourcesCollectionResultOfT.cs | 87 + .../PrivateLinksRestOperations.cs | 90 + .../Generated/listAsyncCollectionResultOfT.cs | 22 - .../src/Generated/listCollectionResultOfT.cs | 22 - .../Local/Mgmt-TypeSpec/tspCodeModel.json | 1574 +++++++++-------- .../http-client-csharp-mgmt/package-lock.json | 16 +- .../http-client-csharp-mgmt/package.json | 2 +- 24 files changed, 2149 insertions(+), 838 deletions(-) create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FoosListAsyncCollectionResult.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FoosListAsyncCollectionResultOfT.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FoosListCollectionResult.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/FoosListCollectionResultOfT.cs delete mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/GetAllPrivateLinkResourcesAsyncCollectionResultOfT.cs delete mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/GetAllPrivateLinkResourcesCollectionResultOfT.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/FooListResult.Serialization.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/FooListResult.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/PrivateLinkResourceListResult.Serialization.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/PrivateLinkResourceListResult.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/PrivateLinksGetAllPrivateLinkResourcesAsyncCollectionResult.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/PrivateLinksGetAllPrivateLinkResourcesAsyncCollectionResultOfT.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/PrivateLinksGetAllPrivateLinkResourcesCollectionResult.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/PrivateLinksGetAllPrivateLinkResourcesCollectionResultOfT.cs create mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/RestOperations/PrivateLinksRestOperations.cs delete mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/listAsyncCollectionResultOfT.cs delete mode 100644 eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/listCollectionResultOfT.cs diff --git a/eng/Packages.Data.props b/eng/Packages.Data.props index afd2dfdba074..4b01eba5b8f2 100644 --- a/eng/Packages.Data.props +++ b/eng/Packages.Data.props @@ -439,6 +439,6 @@ 1.0.0-dev.20250501.1 1.0.0-alpha.20250522.3 - 1.0.0-alpha.20250522.1 + 1.0.0-alpha.20250523.1 diff --git a/eng/packages/http-client-csharp-mgmt/generator/Directory.Build.props b/eng/packages/http-client-csharp-mgmt/generator/Directory.Build.props index 167d97e85200..6f83b87a83ac 100644 --- a/eng/packages/http-client-csharp-mgmt/generator/Directory.Build.props +++ b/eng/packages/http-client-csharp-mgmt/generator/Directory.Build.props @@ -3,7 +3,11 @@ enable false false - $(NoWarn);CS8002 + + $(NoWarn); + CS8002; + SCM0005; +