From a2aa0dd128cfb07c40af288270083a132ef75fa6 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Mar 2026 19:03:03 +0000
Subject: [PATCH 01/19] Initial plan
From 4025e207a189c5ec0a032c49d53298daef0773e1 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Mar 2026 19:22:25 +0000
Subject: [PATCH 02/19] feat: auto-generate ConfigurationSchema.json for JSON
IntelliSense
Add schema generation for appsettings.json IntelliSense when a client
library has ClientSettings. The schema includes well-known client names
under 'Clients' (SCM) or 'AzureClients' (Azure) sections, with $ref to
shared credential/options definitions and allOf for client-specific
option extensions.
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/555ac5bb-bd9c-4d73-90ca-f2922cf55fa5
---
.../src/ConfigurationSchemaGenerator.cs | 296 ++++++++++++++++
.../src/ScmCodeModelGenerator.cs | 14 +
.../test/ConfigurationSchemaGeneratorTests.cs | 324 ++++++++++++++++++
.../src/CSharpGen.cs | 3 +
.../src/CodeModelGenerator.cs | 8 +
5 files changed, 645 insertions(+)
create mode 100644 packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
create mode 100644 packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
new file mode 100644
index 00000000000..1893f1d4af1
--- /dev/null
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -0,0 +1,296 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.Json;
+using System.Text.Json.Nodes;
+using Microsoft.TypeSpec.Generator.ClientModel.Providers;
+using Microsoft.TypeSpec.Generator.Input.Extensions;
+using Microsoft.TypeSpec.Generator.Primitives;
+using Microsoft.TypeSpec.Generator.Providers;
+
+namespace Microsoft.TypeSpec.Generator.ClientModel
+{
+ ///
+ /// Generates a ConfigurationSchema.json file for JSON IntelliSense support in appsettings.json.
+ /// The schema defines well-known client names and their configuration properties.
+ ///
+ internal static class ConfigurationSchemaGenerator
+ {
+ private static readonly JsonSerializerOptions s_jsonOptions = new()
+ {
+ WriteIndented = true
+ };
+
+ ///
+ /// Generates the ConfigurationSchema.json content based on the output library's type providers.
+ /// Returns null if no clients with are found.
+ ///
+ internal static string? Generate(OutputLibrary output)
+ {
+ var clientsWithSettings = output.TypeProviders
+ .OfType()
+ .Where(c => c.ClientSettings != null)
+ .ToList();
+
+ if (clientsWithSettings.Count == 0)
+ {
+ return null;
+ }
+
+ // Determine if Azure or SCM based on the options base type namespace.
+ var optionsBaseType = ScmCodeModelGenerator.Instance.TypeFactory.ClientPipelineApi.ClientPipelineOptionsType;
+ bool isAzure = optionsBaseType.Namespace?.StartsWith("Azure", StringComparison.Ordinal) == true;
+ string sectionName = isAzure ? "AzureClients" : "Clients";
+ string optionsRef = isAzure ? "azureOptions" : "options";
+
+ var schema = BuildSchema(clientsWithSettings, sectionName, optionsRef);
+ return JsonSerializer.Serialize(schema, s_jsonOptions);
+ }
+
+ private static JsonObject BuildSchema(
+ List clients,
+ string sectionName,
+ string optionsRef)
+ {
+ var clientProperties = new JsonObject();
+
+ foreach (var client in clients)
+ {
+ var clientEntry = BuildClientEntry(client, optionsRef);
+ clientProperties[client.Name] = clientEntry;
+ }
+
+ return new JsonObject
+ {
+ ["$schema"] = "http://json-schema.org/draft-07/schema#",
+ ["type"] = "object",
+ ["properties"] = new JsonObject
+ {
+ [sectionName] = new JsonObject
+ {
+ ["type"] = "object",
+ ["properties"] = clientProperties,
+ ["additionalProperties"] = new JsonObject
+ {
+ ["type"] = "object",
+ ["description"] = "Configuration for a named client instance."
+ }
+ }
+ }
+ };
+ }
+
+ private static JsonObject BuildClientEntry(ClientProvider client, string optionsRef)
+ {
+ var settings = client.ClientSettings!;
+ var properties = new JsonObject();
+
+ // Add endpoint property
+ if (settings.EndpointProperty != null)
+ {
+ properties[settings.EndpointProperty.Name] = BuildPropertySchema(settings.EndpointProperty);
+ }
+
+ // Add other required parameters
+ foreach (var param in settings.OtherRequiredParams)
+ {
+ var propName = param.Name.ToIdentifierName();
+ properties[propName] = GetJsonSchemaForType(param.Type);
+ }
+
+ // Add credential reference
+ properties["Credential"] = new JsonObject
+ {
+ ["$ref"] = "#/definitions/credential"
+ };
+
+ // Add options
+ properties["Options"] = BuildOptionsSchema(client, optionsRef);
+
+ return new JsonObject
+ {
+ ["type"] = "object",
+ ["description"] = $"Configuration for {client.Name}.",
+ ["properties"] = properties
+ };
+ }
+
+ private static JsonObject BuildOptionsSchema(ClientProvider client, string optionsRef)
+ {
+ var clientOptions = client.EffectiveClientOptions;
+ if (clientOptions == null)
+ {
+ return new JsonObject
+ {
+ ["$ref"] = $"#/definitions/{optionsRef}"
+ };
+ }
+
+ // Get client-specific option properties (public, non-version properties)
+ var customProperties = clientOptions.Properties
+ .Where(p => p.Modifiers.HasFlag(MethodSignatureModifiers.Public))
+ .ToList();
+
+ if (customProperties.Count == 0)
+ {
+ return new JsonObject
+ {
+ ["$ref"] = $"#/definitions/{optionsRef}"
+ };
+ }
+
+ // Use allOf to extend the base options with client-specific properties
+ var extensionProperties = new JsonObject();
+ foreach (var prop in customProperties)
+ {
+ extensionProperties[prop.Name] = GetJsonSchemaForType(prop.Type);
+ }
+
+ return new JsonObject
+ {
+ ["allOf"] = new JsonArray
+ {
+ new JsonObject { ["$ref"] = $"#/definitions/{optionsRef}" },
+ new JsonObject
+ {
+ ["type"] = "object",
+ ["properties"] = extensionProperties
+ }
+ }
+ };
+ }
+
+ private static JsonObject BuildPropertySchema(PropertyProvider property)
+ {
+ var schema = GetJsonSchemaForType(property.Type);
+
+ if (property.Description != null)
+ {
+ var descriptionText = property.Description.ToString();
+ if (!string.IsNullOrEmpty(descriptionText))
+ {
+ schema["description"] = descriptionText;
+ }
+ }
+
+ return schema;
+ }
+
+ internal static JsonObject GetJsonSchemaForType(CSharpType type)
+ {
+ // Unwrap nullable types
+ var effectiveType = type.IsNullable ? type.WithNullable(false) : type;
+
+ // Handle non-framework types
+ if (!effectiveType.IsFrameworkType)
+ {
+ if (effectiveType.IsEnum)
+ {
+ return GetJsonSchemaForEnum(effectiveType);
+ }
+
+ return new JsonObject { ["type"] = "object" };
+ }
+
+ // Handle collection types
+ if (effectiveType.IsList)
+ {
+ return BuildArraySchema(effectiveType);
+ }
+
+ var frameworkType = effectiveType.FrameworkType;
+
+ if (frameworkType == typeof(string))
+ {
+ return new JsonObject { ["type"] = "string" };
+ }
+ if (frameworkType == typeof(bool))
+ {
+ return new JsonObject { ["type"] = "boolean" };
+ }
+ if (frameworkType == typeof(int) || frameworkType == typeof(long))
+ {
+ return new JsonObject { ["type"] = "integer" };
+ }
+ if (frameworkType == typeof(float) || frameworkType == typeof(double))
+ {
+ return new JsonObject { ["type"] = "number" };
+ }
+ if (frameworkType == typeof(Uri))
+ {
+ return new JsonObject { ["type"] = "string", ["format"] = "uri" };
+ }
+ if (frameworkType == typeof(TimeSpan))
+ {
+ return new JsonObject { ["type"] = "string" };
+ }
+
+ return new JsonObject { ["type"] = "object" };
+ }
+
+ private static JsonObject GetJsonSchemaForEnum(CSharpType enumType)
+ {
+ var enumProvider = CodeModelGenerator.Instance.OutputLibrary.TypeProviders
+ .OfType()
+ .FirstOrDefault(e => e.Type.Equals(enumType));
+
+ if (enumProvider == null)
+ {
+ // Try nested types (e.g., service version enums nested in options)
+ enumProvider = CodeModelGenerator.Instance.OutputLibrary.TypeProviders
+ .SelectMany(t => t.NestedTypes)
+ .OfType()
+ .FirstOrDefault(e => e.Type.Equals(enumType));
+ }
+
+ if (enumProvider != null)
+ {
+ var values = new JsonArray();
+ foreach (var member in enumProvider.EnumValues)
+ {
+ values.Add(JsonValue.Create(member.Value?.ToString()));
+ }
+
+ if (enumType.IsStruct)
+ {
+ // Extensible enum — use anyOf to allow known values + custom strings
+ return new JsonObject
+ {
+ ["anyOf"] = new JsonArray
+ {
+ new JsonObject { ["enum"] = values },
+ new JsonObject { ["type"] = "string" }
+ }
+ };
+ }
+
+ // Fixed enum
+ return new JsonObject { ["enum"] = values };
+ }
+
+ // Fallback: just string
+ return new JsonObject { ["type"] = "string" };
+ }
+
+ private static JsonObject BuildArraySchema(CSharpType listType)
+ {
+ if (listType.Arguments.Count > 0)
+ {
+ return new JsonObject
+ {
+ ["type"] = "array",
+ ["items"] = GetJsonSchemaForType(listType.Arguments[0])
+ };
+ }
+
+ return new JsonObject
+ {
+ ["type"] = "array",
+ ["items"] = new JsonObject { ["type"] = "string" }
+ };
+ }
+ }
+}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmCodeModelGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmCodeModelGenerator.cs
index 0d9f0b3a36e..afeb6ea5ed9 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmCodeModelGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmCodeModelGenerator.cs
@@ -4,7 +4,9 @@
using System;
using System.ClientModel;
using System.ComponentModel.Composition;
+using System.IO;
using System.Text.Json;
+using System.Threading.Tasks;
using Microsoft.CodeAnalysis;
using Microsoft.TypeSpec.Generator.ClientModel.Providers;
@@ -44,5 +46,17 @@ protected override void Configure()
AddMetadataReference(MetadataReference.CreateFromFile(typeof(JsonSerializer).Assembly.Location));
AddTypeToKeep(ModelReaderWriterContextDefinition.s_name, isRoot: false);
}
+
+ public override async Task WriteAdditionalFiles(string outputPath)
+ {
+ var schemaContent = ConfigurationSchemaGenerator.Generate(OutputLibrary);
+ if (schemaContent != null)
+ {
+ var schemaPath = Path.Combine(outputPath, "schema", "ConfigurationSchema.json");
+ Directory.CreateDirectory(Path.GetDirectoryName(schemaPath)!);
+ Emitter.Info($"Writing {Path.GetFullPath(schemaPath)}");
+ await File.WriteAllTextAsync(schemaPath, schemaContent);
+ }
+ }
}
}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
new file mode 100644
index 00000000000..ce80bdc4f9d
--- /dev/null
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -0,0 +1,324 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text.Json;
+using System.Text.Json.Nodes;
+using Microsoft.TypeSpec.Generator.ClientModel.Providers;
+using Microsoft.TypeSpec.Generator.Input;
+using Microsoft.TypeSpec.Generator.Primitives;
+using Microsoft.TypeSpec.Generator.Providers;
+using Microsoft.TypeSpec.Generator.Tests.Common;
+using NUnit.Framework;
+
+namespace Microsoft.TypeSpec.Generator.ClientModel.Tests
+{
+ public class ConfigurationSchemaGeneratorTests
+ {
+ [SetUp]
+ public void SetUp()
+ {
+ // Reset the singleton instance before each test
+ var singletonField = typeof(ClientOptionsProvider).GetField("_singletonInstance", BindingFlags.Static | BindingFlags.NonPublic);
+ singletonField?.SetValue(null, null);
+
+ MockHelpers.LoadMockGenerator();
+ }
+
+ [Test]
+ public void Generate_ReturnsNull_WhenNoClientsWithSettings()
+ {
+ var output = new TestOutputLibrary([]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+ Assert.IsNull(result);
+ }
+
+ [Test]
+ public void Generate_ReturnsSchema_ForClientWithSettings()
+ {
+ var client = InputFactory.Client("TestService");
+ var clientProvider = new ClientProvider(client);
+
+ Assert.IsNotNull(clientProvider.ClientSettings, "ClientSettings should not be null for individually-initialized client");
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+
+ var doc = JsonNode.Parse(result!)!;
+ Assert.AreEqual("http://json-schema.org/draft-07/schema#", doc["$schema"]?.GetValue());
+ Assert.AreEqual("object", doc["type"]?.GetValue());
+
+ // Since the default generator uses SCM (System.ClientModel), the section should be "Clients"
+ var clients = doc["properties"]?["Clients"];
+ Assert.IsNotNull(clients, "Schema should have a 'Clients' section for SCM clients");
+ Assert.AreEqual("object", clients!["type"]?.GetValue());
+
+ var testClient = clients["properties"]?["TestService"];
+ Assert.IsNotNull(testClient, "Schema should have a well-known 'TestService' entry");
+ Assert.AreEqual("object", testClient!["type"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_IncludesCredentialReference()
+ {
+ var client = InputFactory.Client("TestService");
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var credential = clientEntry?["properties"]?["Credential"];
+ Assert.IsNotNull(credential, "Client entry should have a Credential property");
+ Assert.AreEqual("#/definitions/credential", credential!["$ref"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_IncludesOptionsReference()
+ {
+ var client = InputFactory.Client("TestService");
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var options = clientEntry?["properties"]?["Options"];
+ Assert.IsNotNull(options, "Client entry should have an Options property");
+
+ // Without client-specific options, should be a simple $ref
+ Assert.AreEqual("#/definitions/options", options!["$ref"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_IncludesEndpointProperty_ForStringEndpoint()
+ {
+ var inputParameters = new[]
+ {
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.String,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true)
+ };
+ var client = InputFactory.Client("TestService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var endpoint = clientEntry?["properties"]?["Endpoint"];
+ Assert.IsNotNull(endpoint, "Client entry should have an Endpoint property");
+ Assert.AreEqual("string", endpoint!["type"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_IncludesEndpointProperty_ForUriEndpoint()
+ {
+ var inputParameters = new[]
+ {
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.Url,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true)
+ };
+ var client = InputFactory.Client("TestService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var endpoint = clientEntry?["properties"]?["Endpoint"];
+ Assert.IsNotNull(endpoint, "Client entry should have an Endpoint property");
+ Assert.AreEqual("string", endpoint!["type"]?.GetValue());
+ Assert.AreEqual("uri", endpoint!["format"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_IncludesOptionsAllOf_WhenClientHasCustomOptions()
+ {
+ InputParameter[] inputParameters =
+ [
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.String,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true),
+ InputFactory.QueryParameter(
+ "enableTenantDiscovery",
+ InputPrimitiveType.Boolean,
+ isRequired: false,
+ defaultValue: new InputConstant(false, InputPrimitiveType.Boolean),
+ scope: InputParameterScope.Client,
+ isApiVersion: false)
+ ];
+ var client = InputFactory.Client("BlobService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["BlobService"];
+ var options = clientEntry?["properties"]?["Options"];
+ Assert.IsNotNull(options, "Client entry should have an Options property");
+
+ // When there are custom options, should use allOf
+ var allOf = options!["allOf"];
+ Assert.IsNotNull(allOf, "Options should use allOf when client has custom options");
+
+ var allOfArray = allOf!.AsArray();
+ Assert.AreEqual(2, allOfArray.Count);
+ Assert.AreEqual("#/definitions/options", allOfArray[0]?["$ref"]?.GetValue());
+ Assert.AreEqual("object", allOfArray[1]?["type"]?.GetValue());
+
+ // Verify the custom property is included
+ var extensionProperties = allOfArray[1]?["properties"];
+ Assert.IsNotNull(extensionProperties);
+ var enableTenantDiscovery = extensionProperties!["EnableTenantDiscovery"];
+ Assert.IsNotNull(enableTenantDiscovery, "Custom option property should be included");
+ Assert.AreEqual("boolean", enableTenantDiscovery!["type"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_HandlesMultipleClients()
+ {
+ var client1 = InputFactory.Client("ServiceA");
+ var client2 = InputFactory.Client("ServiceB");
+ var provider1 = new ClientProvider(client1);
+ var provider2 = new ClientProvider(client2);
+
+ var output = new TestOutputLibrary([provider1, provider2]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientsSection = doc["properties"]?["Clients"]?["properties"];
+ Assert.IsNotNull(clientsSection?["ServiceA"], "Should include ServiceA");
+ Assert.IsNotNull(clientsSection?["ServiceB"], "Should include ServiceB");
+ }
+
+ [Test]
+ public void Generate_IncludesAdditionalPropertiesOnSection()
+ {
+ var client = InputFactory.Client("TestService");
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientsSection = doc["properties"]?["Clients"];
+ var additionalProperties = clientsSection?["additionalProperties"];
+ Assert.IsNotNull(additionalProperties, "Section should have additionalProperties for custom-named instances");
+ Assert.AreEqual("object", additionalProperties!["type"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_ReturnsNull_WhenClientIsParentOnlyInitialized()
+ {
+ // Create a sub-client initialized by parent only
+ var parentClient = InputFactory.Client("ParentService");
+ var subClient = InputFactory.Client(
+ "SubService",
+ parent: parentClient,
+ initializedBy: InputClientInitializedBy.Parent);
+ var subProvider = new ClientProvider(subClient);
+
+ // Sub-client with Parent initialization should NOT have ClientSettings
+ Assert.IsNull(subProvider.ClientSettings);
+
+ var output = new TestOutputLibrary([subProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+ Assert.IsNull(result, "Should return null when no clients have settings");
+ }
+
+ [Test]
+ public void GetJsonSchemaForType_ReturnsCorrectSchema_ForPrimitiveTypes()
+ {
+ // String
+ var stringSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(string)));
+ Assert.AreEqual("string", stringSchema["type"]?.GetValue());
+
+ // Boolean
+ var boolSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(bool)));
+ Assert.AreEqual("boolean", boolSchema["type"]?.GetValue());
+
+ // Integer types
+ var intSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(int)));
+ Assert.AreEqual("integer", intSchema["type"]?.GetValue());
+
+ var longSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(long)));
+ Assert.AreEqual("integer", longSchema["type"]?.GetValue());
+
+ // Float types
+ var floatSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(float)));
+ Assert.AreEqual("number", floatSchema["type"]?.GetValue());
+
+ var doubleSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(double)));
+ Assert.AreEqual("number", doubleSchema["type"]?.GetValue());
+
+ // Uri
+ var uriSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(Uri)));
+ Assert.AreEqual("string", uriSchema["type"]?.GetValue());
+ Assert.AreEqual("uri", uriSchema["format"]?.GetValue());
+
+ // TimeSpan
+ var timeSpanSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(TimeSpan)));
+ Assert.AreEqual("string", timeSpanSchema["type"]?.GetValue());
+ }
+
+ [Test]
+ public void GetJsonSchemaForType_ReturnsCorrectSchema_ForNullableTypes()
+ {
+ var nullableStringSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(string), isNullable: true));
+ Assert.AreEqual("string", nullableStringSchema["type"]?.GetValue());
+
+ var nullableBoolSchema = ConfigurationSchemaGenerator.GetJsonSchemaForType(new CSharpType(typeof(bool), isNullable: true));
+ Assert.AreEqual("boolean", nullableBoolSchema["type"]?.GetValue());
+ }
+
+ ///
+ /// Test output library that wraps provided TypeProviders.
+ ///
+ private class TestOutputLibrary : OutputLibrary
+ {
+ private readonly TypeProvider[] _types;
+
+ public TestOutputLibrary(TypeProvider[] types)
+ {
+ _types = types;
+ }
+
+ protected override TypeProvider[] BuildTypeProviders() => _types;
+ }
+ }
+}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/CSharpGen.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/CSharpGen.cs
index 777c96bf558..ecaae65ad09 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/CSharpGen.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/CSharpGen.cs
@@ -118,6 +118,9 @@ await customCodeWorkspace.GetCompilationAsync(),
await CodeModelGenerator.Instance.TypeFactory.CreateNewProjectScaffolding().Execute();
}
+ // Write additional output files (e.g. configuration schemas)
+ await CodeModelGenerator.Instance.WriteAdditionalFiles(outputPath);
+
LoggingHelpers.LogElapsedTime("All files have been written to disk");
}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/CodeModelGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/CodeModelGenerator.cs
index 6fc87d7ced9..d44b2b49305 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/CodeModelGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/CodeModelGenerator.cs
@@ -5,6 +5,7 @@
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Diagnostics;
+using System.Threading.Tasks;
using Microsoft.CodeAnalysis;
using Microsoft.TypeSpec.Generator.EmitterRpc;
using Microsoft.TypeSpec.Generator.Input;
@@ -182,5 +183,12 @@ public void AddTypeToKeep(string typeName, bool isRoot = true)
/// Whether to treat the type as a root type. Any dependencies of root types will
/// not have their accessibility changed regardless of the 'unreferenced-types-handling' value.
public void AddTypeToKeep(TypeProvider type, bool isRoot = true) => AddTypeToKeep(type.Type.FullyQualifiedName, isRoot);
+
+ ///
+ /// Writes additional output files (e.g. configuration schemas) after the main code generation is complete.
+ /// Override this method to generate non-C# output files.
+ ///
+ /// The root output directory.
+ public virtual Task WriteAdditionalFiles(string outputPath) => Task.CompletedTask;
}
}
From a1ac5df4782e61285046ae897614946b2ceedda6 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Mar 2026 19:25:58 +0000
Subject: [PATCH 03/19] Address code review feedback: optimize enum lookup and
add comments
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/555ac5bb-bd9c-4d73-90ca-f2922cf55fa5
---
.../src/ConfigurationSchemaGenerator.cs | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index 1893f1d4af1..828126dd854 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -88,13 +88,13 @@ private static JsonObject BuildClientEntry(ClientProvider client, string options
var settings = client.ClientSettings!;
var properties = new JsonObject();
- // Add endpoint property
+ // Add endpoint property (Name is already transformed by PropertyProvider construction)
if (settings.EndpointProperty != null)
{
properties[settings.EndpointProperty.Name] = BuildPropertySchema(settings.EndpointProperty);
}
- // Add other required parameters
+ // Add other required parameters (raw param names need ToIdentifierName() for PascalCase)
foreach (var param in settings.OtherRequiredParams)
{
var propName = param.Name.ToIdentifierName();
@@ -233,19 +233,12 @@ internal static JsonObject GetJsonSchemaForType(CSharpType type)
private static JsonObject GetJsonSchemaForEnum(CSharpType enumType)
{
+ // Search both top-level and nested types (e.g., service version enums nested in options) in a single pass
var enumProvider = CodeModelGenerator.Instance.OutputLibrary.TypeProviders
+ .SelectMany(t => new[] { t }.Concat(t.NestedTypes))
.OfType()
.FirstOrDefault(e => e.Type.Equals(enumType));
- if (enumProvider == null)
- {
- // Try nested types (e.g., service version enums nested in options)
- enumProvider = CodeModelGenerator.Instance.OutputLibrary.TypeProviders
- .SelectMany(t => t.NestedTypes)
- .OfType()
- .FirstOrDefault(e => e.Type.Equals(enumType));
- }
-
if (enumProvider != null)
{
var values = new JsonArray();
From da4dd67d074a547dcf0c9e90105cb954eaa7c5ad Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Mar 2026 19:31:28 +0000
Subject: [PATCH 04/19] Add changelog entry for ConfigurationSchema.json
feature
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/555ac5bb-bd9c-4d73-90ca-f2922cf55fa5
---
...te-configuration-schema-json-2026-03-25.md | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)
create mode 100644 .chronus/changes/auto-generate-configuration-schema-json-2026-03-25.md
diff --git a/.chronus/changes/auto-generate-configuration-schema-json-2026-03-25.md b/.chronus/changes/auto-generate-configuration-schema-json-2026-03-25.md
new file mode 100644
index 00000000000..ecd1e9b4437
--- /dev/null
+++ b/.chronus/changes/auto-generate-configuration-schema-json-2026-03-25.md
@@ -0,0 +1,29 @@
+---
+changeKind: feature
+packages:
+ - "@typespec/http-client-csharp"
+---
+
+Auto-generate `ConfigurationSchema.json` when a client library has a `ClientSettings` class, providing JSON IntelliSense for `appsettings.json`. The schema includes well-known client names under `Clients` (SCM) or `AzureClients` (Azure) sections, with `$ref` to shared credential/options definitions.
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "MyClient": {
+ "type": "object",
+ "properties": {
+ "Endpoint": { "type": "string", "format": "uri" },
+ "Credential": { "$ref": "#/definitions/credential" },
+ "Options": { "$ref": "#/definitions/options" }
+ }
+ }
+ }
+ }
+ }
+}
+```
From 3541fb5b00c415258e4242dbbe0b016cb69d3aa0 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Mar 2026 19:37:17 +0000
Subject: [PATCH 05/19] Remove Azure-specific logic from base emitter
ConfigurationSchemaGenerator
The base emitter should not contain Azure-specific code. Removed the
namespace-based Azure detection and made Generate() always use "Clients"
and "options" as defaults, with parameters allowing overrides by
derived emitters.
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/78f8c1a0-1d00-4e19-89d1-e9090dc2aeab
---
.../src/ConfigurationSchemaGenerator.cs | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index 828126dd854..e0554e0c872 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -19,6 +19,9 @@ namespace Microsoft.TypeSpec.Generator.ClientModel
///
internal static class ConfigurationSchemaGenerator
{
+ internal const string DefaultSectionName = "Clients";
+ internal const string DefaultOptionsRef = "options";
+
private static readonly JsonSerializerOptions s_jsonOptions = new()
{
WriteIndented = true
@@ -28,7 +31,7 @@ internal static class ConfigurationSchemaGenerator
/// Generates the ConfigurationSchema.json content based on the output library's type providers.
/// Returns null if no clients with are found.
///
- internal static string? Generate(OutputLibrary output)
+ internal static string? Generate(OutputLibrary output, string sectionName = DefaultSectionName, string optionsRef = DefaultOptionsRef)
{
var clientsWithSettings = output.TypeProviders
.OfType()
@@ -40,12 +43,6 @@ internal static class ConfigurationSchemaGenerator
return null;
}
- // Determine if Azure or SCM based on the options base type namespace.
- var optionsBaseType = ScmCodeModelGenerator.Instance.TypeFactory.ClientPipelineApi.ClientPipelineOptionsType;
- bool isAzure = optionsBaseType.Namespace?.StartsWith("Azure", StringComparison.Ordinal) == true;
- string sectionName = isAzure ? "AzureClients" : "Clients";
- string optionsRef = isAzure ? "azureOptions" : "options";
-
var schema = BuildSchema(clientsWithSettings, sectionName, optionsRef);
return JsonSerializer.Serialize(schema, s_jsonOptions);
}
From f3f72b7a969e5e24fbddee61c90987ed6329f827 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 25 Mar 2026 19:39:50 +0000
Subject: [PATCH 06/19] Delete chronus changelog file per reviewer request
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/7703f03f-8937-43a3-b716-e0e5f8090658
---
...te-configuration-schema-json-2026-03-25.md | 29 -------------------
1 file changed, 29 deletions(-)
delete mode 100644 .chronus/changes/auto-generate-configuration-schema-json-2026-03-25.md
diff --git a/.chronus/changes/auto-generate-configuration-schema-json-2026-03-25.md b/.chronus/changes/auto-generate-configuration-schema-json-2026-03-25.md
deleted file mode 100644
index ecd1e9b4437..00000000000
--- a/.chronus/changes/auto-generate-configuration-schema-json-2026-03-25.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-changeKind: feature
-packages:
- - "@typespec/http-client-csharp"
----
-
-Auto-generate `ConfigurationSchema.json` when a client library has a `ClientSettings` class, providing JSON IntelliSense for `appsettings.json`. The schema includes well-known client names under `Clients` (SCM) or `AzureClients` (Azure) sections, with `$ref` to shared credential/options definitions.
-
-```json
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "type": "object",
- "properties": {
- "Clients": {
- "type": "object",
- "properties": {
- "MyClient": {
- "type": "object",
- "properties": {
- "Endpoint": { "type": "string", "format": "uri" },
- "Credential": { "$ref": "#/definitions/credential" },
- "Options": { "$ref": "#/definitions/options" }
- }
- }
- }
- }
- }
-}
-```
From 2c0a31e1f9c0158dd160ace243eb87f165119f1f Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 03:10:24 +0000
Subject: [PATCH 07/19] Add regenerated ConfigurationSchema.json files for test
projects
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/54e740be-2cdd-4b28-9516-7744e0fcf1dc
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../schema/ConfigurationSchema.json | 72 +++++++++++++++++++
.../api-key/schema/ConfigurationSchema.json | 32 +++++++++
.../custom/schema/ConfigurationSchema.json | 32 +++++++++
.../oauth2/schema/ConfigurationSchema.json | 32 +++++++++
.../union/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 67 +++++++++++++++++
.../default/schema/ConfigurationSchema.json | 41 +++++++++++
.../schema/ConfigurationSchema.json | 67 +++++++++++++++++
.../schema/ConfigurationSchema.json | 41 +++++++++++
.../schema/ConfigurationSchema.json | 41 +++++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../array/schema/ConfigurationSchema.json | 32 +++++++++
.../bytes/schema/ConfigurationSchema.json | 32 +++++++++
.../datetime/schema/ConfigurationSchema.json | 32 +++++++++
.../duration/schema/ConfigurationSchema.json | 32 +++++++++
.../numeric/schema/ConfigurationSchema.json | 32 +++++++++
.../basic/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../path/schema/ConfigurationSchema.json | 32 +++++++++
.../query/schema/ConfigurationSchema.json | 32 +++++++++
.../spread/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../multipart/schema/ConfigurationSchema.json | 32 +++++++++
.../pageable/schema/ConfigurationSchema.json | 32 +++++++++
.../xml/schema/ConfigurationSchema.json | 32 +++++++++
.../v1/schema/ConfigurationSchema.json | 35 +++++++++
.../v2/schema/ConfigurationSchema.json | 35 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../routes/schema/ConfigurationSchema.json | 32 +++++++++
.../json/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../multiple/schema/ConfigurationSchema.json | 32 +++++++++
.../single/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../versioned/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../array/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../fixed/schema/ConfigurationSchema.json | 32 +++++++++
.../empty/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../recursive/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../usage/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../nullable/schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../schema/ConfigurationSchema.json | 32 +++++++++
.../scalar/schema/ConfigurationSchema.json | 32 +++++++++
.../union/schema/ConfigurationSchema.json | 32 +++++++++
.../added/v1/schema/ConfigurationSchema.json | 32 +++++++++
.../added/v2/schema/ConfigurationSchema.json | 32 +++++++++
.../v1/schema/ConfigurationSchema.json | 32 +++++++++
.../v2/schema/ConfigurationSchema.json | 32 +++++++++
.../v1/schema/ConfigurationSchema.json | 32 +++++++++
.../v2/schema/ConfigurationSchema.json | 32 +++++++++
.../v2Preview/schema/ConfigurationSchema.json | 32 +++++++++
.../v1/schema/ConfigurationSchema.json | 32 +++++++++
.../v2/schema/ConfigurationSchema.json | 32 +++++++++
.../v1/schema/ConfigurationSchema.json | 32 +++++++++
.../v2/schema/ConfigurationSchema.json | 32 +++++++++
.../v1/schema/ConfigurationSchema.json | 32 +++++++++
.../v2/schema/ConfigurationSchema.json | 32 +++++++++
72 files changed, 2447 insertions(+)
create mode 100644 packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
create mode 100644 packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..690284d5ea3
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
@@ -0,0 +1,72 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "Notebooks": {
+ "type": "object",
+ "description": "Configuration for Notebooks.",
+ "properties": {
+ "SampleTypeSpecUrl": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the SampleTypeSpecUrl."
+ },
+ "Notebook": {
+ "type": "string"
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ },
+ "Metrics": {
+ "type": "object",
+ "description": "Configuration for Metrics.",
+ "properties": {
+ "SampleTypeSpecUrl": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the SampleTypeSpecUrl."
+ },
+ "MetricsNamespace": {
+ "type": "string"
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ },
+ "SampleTypeSpecClient": {
+ "type": "object",
+ "description": "Configuration for SampleTypeSpecClient.",
+ "properties": {
+ "SampleTypeSpecUrl": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the SampleTypeSpecUrl."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..c9a04e0b69f
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ApiKeyClient": {
+ "type": "object",
+ "description": "Configuration for ApiKeyClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..f864347f6db
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "CustomClient": {
+ "type": "object",
+ "description": "Configuration for CustomClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..21f0affc89b
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "OAuth2Client": {
+ "type": "object",
+ "description": "Configuration for OAuth2Client.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..078ce11ba3a
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "UnionClient": {
+ "type": "object",
+ "description": "Configuration for UnionClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..1f8fdcdf588
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
@@ -0,0 +1,67 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "FirstClient": {
+ "type": "object",
+ "description": "Configuration for FirstClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Client": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ },
+ "SubNamespaceSecondClient": {
+ "type": "object",
+ "description": "Configuration for SubNamespaceSecondClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Client": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..4383096c385
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
@@ -0,0 +1,41 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ServiceClient": {
+ "type": "object",
+ "description": "Configuration for ServiceClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Client": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..5e060810c17
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
@@ -0,0 +1,67 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ClientAClient": {
+ "type": "object",
+ "description": "Configuration for ClientAClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Client": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ },
+ "ClientBClient": {
+ "type": "object",
+ "description": "Configuration for ClientBClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Client": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..4c588281c99
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
@@ -0,0 +1,41 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RenamedOperationClient": {
+ "type": "object",
+ "description": "Configuration for RenamedOperationClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Client": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..39a86d40a93
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
@@ -0,0 +1,41 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "TwoOperationGroupClient": {
+ "type": "object",
+ "description": "Configuration for TwoOperationGroupClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Client": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..d6026b20802
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "DocumentationClient": {
+ "type": "object",
+ "description": "Configuration for DocumentationClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..6a221f4f58e
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ArrayClient": {
+ "type": "object",
+ "description": "Configuration for ArrayClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..f8c31793048
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "BytesClient": {
+ "type": "object",
+ "description": "Configuration for BytesClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..bbb2e641211
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "DatetimeClient": {
+ "type": "object",
+ "description": "Configuration for DatetimeClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..06ffc957e0d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "DurationClient": {
+ "type": "object",
+ "description": "Configuration for DurationClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..c2842955bd3
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "NumericClient": {
+ "type": "object",
+ "description": "Configuration for NumericClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..4ccb5615308
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "BasicClient": {
+ "type": "object",
+ "description": "Configuration for BasicClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..de778d1f3b5
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "BodyOptionalityClient": {
+ "type": "object",
+ "description": "Configuration for BodyOptionalityClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..f575eb5bb29
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "CollectionFormatClient": {
+ "type": "object",
+ "description": "Configuration for CollectionFormatClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..34b82e1dc08
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "PathClient": {
+ "type": "object",
+ "description": "Configuration for PathClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..e7b05f2e279
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "QueryClient": {
+ "type": "object",
+ "description": "Configuration for QueryClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..87edad4f746
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "SpreadClient": {
+ "type": "object",
+ "description": "Configuration for SpreadClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..822f554886d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ContentNegotiationClient": {
+ "type": "object",
+ "description": "Configuration for ContentNegotiationClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..4fa96b9e776
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "JsonMergePatchClient": {
+ "type": "object",
+ "description": "Configuration for JsonMergePatchClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..3d1a2031aec
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "MediaTypeClient": {
+ "type": "object",
+ "description": "Configuration for MediaTypeClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..5eff05bb771
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "MultiPartClient": {
+ "type": "object",
+ "description": "Configuration for MultiPartClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..5d02e483b5a
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "PageableClient": {
+ "type": "object",
+ "description": "Configuration for PageableClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..69c749590ec
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "XmlClient": {
+ "type": "object",
+ "description": "Configuration for XmlClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..9a996926cf9
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
@@ -0,0 +1,35 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ResiliencyServiceDrivenClient": {
+ "type": "object",
+ "description": "Configuration for ResiliencyServiceDrivenClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "ServiceDeploymentVersion": {
+ "type": "string"
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..9a996926cf9
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
@@ -0,0 +1,35 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ResiliencyServiceDrivenClient": {
+ "type": "object",
+ "description": "Configuration for ResiliencyServiceDrivenClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "ServiceDeploymentVersion": {
+ "type": "string"
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..08feb57aadc
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "StatusCodeRangeClient": {
+ "type": "object",
+ "description": "Configuration for StatusCodeRangeClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..c5f1d918856
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RoutesClient": {
+ "type": "object",
+ "description": "Configuration for RoutesClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..145ed7817a2
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "JsonClient": {
+ "type": "object",
+ "description": "Configuration for JsonClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..2739540e1fc
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "NotDefinedClient": {
+ "type": "object",
+ "description": "Configuration for NotDefinedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..6fe0098cf08
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "MultipleClient": {
+ "type": "object",
+ "description": "Configuration for MultipleClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..877aaa89019
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "SingleClient": {
+ "type": "object",
+ "description": "Configuration for SingleClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..6f84268c6e1
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "NotVersionedClient": {
+ "type": "object",
+ "description": "Configuration for NotVersionedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..d3d02769a7a
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "VersionedClient": {
+ "type": "object",
+ "description": "Configuration for VersionedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..138a3029550
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ConditionalRequestClient": {
+ "type": "object",
+ "description": "Configuration for ConditionalRequestClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..06c81f7d6dc
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RepeatabilityClient": {
+ "type": "object",
+ "description": "Configuration for RepeatabilityClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..ed880d102ed
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "SpecialWordsClient": {
+ "type": "object",
+ "description": "Configuration for SpecialWordsClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..6a221f4f58e
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ArrayClient": {
+ "type": "object",
+ "description": "Configuration for ArrayClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..3dedb878e27
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "DictionaryClient": {
+ "type": "object",
+ "description": "Configuration for DictionaryClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..2c96e87927c
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ExtensibleClient": {
+ "type": "object",
+ "description": "Configuration for ExtensibleClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..722e90de112
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "FixedClient": {
+ "type": "object",
+ "description": "Configuration for FixedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..17f806ff4c6
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "EmptyClient": {
+ "type": "object",
+ "description": "Configuration for EmptyClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..5cd70931b7e
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "EnumDiscriminatorClient": {
+ "type": "object",
+ "description": "Configuration for EnumDiscriminatorClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..c90c7511456
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "NestedDiscriminatorClient": {
+ "type": "object",
+ "description": "Configuration for NestedDiscriminatorClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..bf3d60e9a88
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "NotDiscriminatedClient": {
+ "type": "object",
+ "description": "Configuration for NotDiscriminatedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..c5ca60874a9
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RecursiveClient": {
+ "type": "object",
+ "description": "Configuration for RecursiveClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..9b15c863336
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "SingleDiscriminatorClient": {
+ "type": "object",
+ "description": "Configuration for SingleDiscriminatorClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..9156a20b1df
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "UsageClient": {
+ "type": "object",
+ "description": "Configuration for UsageClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..a865ce88b07
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "VisibilityClient": {
+ "type": "object",
+ "description": "Configuration for VisibilityClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..b6d7489f461
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "AdditionalPropertiesClient": {
+ "type": "object",
+ "description": "Configuration for AdditionalPropertiesClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..77759515ed1
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "NullableClient": {
+ "type": "object",
+ "description": "Configuration for NullableClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..74ed07666cf
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "OptionalClient": {
+ "type": "object",
+ "description": "Configuration for OptionalClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..e2f063676ff
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ValueTypesClient": {
+ "type": "object",
+ "description": "Configuration for ValueTypesClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..f84e3610577
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ScalarClient": {
+ "type": "object",
+ "description": "Configuration for ScalarClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..078ce11ba3a
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "UnionClient": {
+ "type": "object",
+ "description": "Configuration for UnionClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..657f8baad08
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "AddedClient": {
+ "type": "object",
+ "description": "Configuration for AddedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..657f8baad08
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "AddedClient": {
+ "type": "object",
+ "description": "Configuration for AddedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..90e88f4b1fd
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "MadeOptionalClient": {
+ "type": "object",
+ "description": "Configuration for MadeOptionalClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..90e88f4b1fd
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "MadeOptionalClient": {
+ "type": "object",
+ "description": "Configuration for MadeOptionalClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..a9569bcdb1b
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RemovedClient": {
+ "type": "object",
+ "description": "Configuration for RemovedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..a9569bcdb1b
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RemovedClient": {
+ "type": "object",
+ "description": "Configuration for RemovedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..a9569bcdb1b
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RemovedClient": {
+ "type": "object",
+ "description": "Configuration for RemovedClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..88b7ac476f6
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RenamedFromClient": {
+ "type": "object",
+ "description": "Configuration for RenamedFromClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..88b7ac476f6
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "RenamedFromClient": {
+ "type": "object",
+ "description": "Configuration for RenamedFromClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..35df6f97f40
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ReturnTypeChangedFromClient": {
+ "type": "object",
+ "description": "Configuration for ReturnTypeChangedFromClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..35df6f97f40
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ReturnTypeChangedFromClient": {
+ "type": "object",
+ "description": "Configuration for ReturnTypeChangedFromClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..3521d711111
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "TypeChangedFromClient": {
+ "type": "object",
+ "description": "Configuration for TypeChangedFromClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
new file mode 100644
index 00000000000..3521d711111
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -0,0 +1,32 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "TypeChangedFromClient": {
+ "type": "object",
+ "description": "Configuration for TypeChangedFromClient.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "format": "uri",
+ "description": "Gets or sets the Endpoint."
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/options"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ }
+}
\ No newline at end of file
From 27184edeaca2cab32fd611e8d6381ba8fa634c04 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 16:22:16 +0000
Subject: [PATCH 08/19] Add definitions section for credential and options to
ConfigurationSchema.json
Add BuildDefinitions() method to generate the definitions section
that resolves the $ref pointers for credential and options.
Update tests and regenerate all schema files.
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/8943ebdf-6deb-4fa8-84cc-795a0929013c
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../src/ConfigurationSchemaGenerator.cs | 59 +++++++++++++++++++
.../test/ConfigurationSchemaGeneratorTests.cs | 31 ++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../api-key/schema/ConfigurationSchema.json | 40 +++++++++++++
.../custom/schema/ConfigurationSchema.json | 40 +++++++++++++
.../oauth2/schema/ConfigurationSchema.json | 40 +++++++++++++
.../union/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../default/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../array/schema/ConfigurationSchema.json | 40 +++++++++++++
.../bytes/schema/ConfigurationSchema.json | 40 +++++++++++++
.../datetime/schema/ConfigurationSchema.json | 40 +++++++++++++
.../duration/schema/ConfigurationSchema.json | 40 +++++++++++++
.../numeric/schema/ConfigurationSchema.json | 40 +++++++++++++
.../basic/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../path/schema/ConfigurationSchema.json | 40 +++++++++++++
.../query/schema/ConfigurationSchema.json | 40 +++++++++++++
.../spread/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../multipart/schema/ConfigurationSchema.json | 40 +++++++++++++
.../pageable/schema/ConfigurationSchema.json | 40 +++++++++++++
.../xml/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v1/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v2/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../routes/schema/ConfigurationSchema.json | 40 +++++++++++++
.../json/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../multiple/schema/ConfigurationSchema.json | 40 +++++++++++++
.../single/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../versioned/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../array/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../fixed/schema/ConfigurationSchema.json | 40 +++++++++++++
.../empty/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../recursive/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../usage/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../nullable/schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../schema/ConfigurationSchema.json | 40 +++++++++++++
.../scalar/schema/ConfigurationSchema.json | 40 +++++++++++++
.../union/schema/ConfigurationSchema.json | 40 +++++++++++++
.../added/v1/schema/ConfigurationSchema.json | 40 +++++++++++++
.../added/v2/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v1/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v2/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v1/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v2/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v2Preview/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v1/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v2/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v1/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v2/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v1/schema/ConfigurationSchema.json | 40 +++++++++++++
.../v2/schema/ConfigurationSchema.json | 40 +++++++++++++
74 files changed, 2970 insertions(+)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index e0554e0c872..d95d0017317 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -76,8 +76,67 @@ private static JsonObject BuildSchema(
["description"] = "Configuration for a named client instance."
}
}
+ },
+ ["definitions"] = BuildDefinitions(optionsRef)
+ };
+ }
+
+ private static JsonObject BuildDefinitions(string optionsRef)
+ {
+ var definitions = new JsonObject
+ {
+ ["credential"] = new JsonObject
+ {
+ ["type"] = "object",
+ ["description"] = "Credential configuration for authenticating with the service.",
+ ["properties"] = new JsonObject
+ {
+ ["Type"] = new JsonObject
+ {
+ ["type"] = "string",
+ ["description"] = "The credential type to use for authentication."
+ }
+ }
+ },
+ [optionsRef] = new JsonObject
+ {
+ ["type"] = "object",
+ ["description"] = "Client pipeline options.",
+ ["properties"] = new JsonObject
+ {
+ ["NetworkTimeout"] = new JsonObject
+ {
+ ["type"] = "string",
+ ["description"] = "The network timeout (TimeSpan format, e.g. '00:01:40')."
+ },
+ ["RetryPolicy"] = new JsonObject
+ {
+ ["type"] = "object",
+ ["description"] = "Retry policy configuration.",
+ ["properties"] = new JsonObject
+ {
+ ["MaxRetries"] = new JsonObject
+ {
+ ["type"] = "integer",
+ ["description"] = "Maximum number of retries."
+ },
+ ["Delay"] = new JsonObject
+ {
+ ["type"] = "string",
+ ["description"] = "Delay between retries (TimeSpan format)."
+ },
+ ["MaxDelay"] = new JsonObject
+ {
+ ["type"] = "string",
+ ["description"] = "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
}
};
+
+ return definitions;
}
private static JsonObject BuildClientEntry(ClientProvider client, string optionsRef)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index ce80bdc4f9d..43d62100004 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -101,6 +101,37 @@ public void Generate_IncludesOptionsReference()
Assert.AreEqual("#/definitions/options", options!["$ref"]?.GetValue());
}
+ [Test]
+ public void Generate_IncludesDefinitions()
+ {
+ var client = InputFactory.Client("TestService");
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var definitions = doc["definitions"];
+ Assert.IsNotNull(definitions, "Schema should have a definitions section");
+
+ // Verify credential definition
+ var credential = definitions!["credential"];
+ Assert.IsNotNull(credential, "Definitions should include 'credential'");
+ Assert.AreEqual("object", credential!["type"]?.GetValue());
+
+ // Verify options definition
+ var options = definitions["options"];
+ Assert.IsNotNull(options, "Definitions should include 'options'");
+ Assert.AreEqual("object", options!["type"]?.GetValue());
+
+ // Verify options has expected base properties
+ var optionsProperties = options["properties"];
+ Assert.IsNotNull(optionsProperties?["NetworkTimeout"], "Options definition should include NetworkTimeout");
+ Assert.IsNotNull(optionsProperties?["RetryPolicy"], "Options definition should include RetryPolicy");
+ }
+
[Test]
public void Generate_IncludesEndpointProperty_ForStringEndpoint()
{
diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
index 690284d5ea3..46eb5639cd9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
@@ -68,5 +68,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
index c9a04e0b69f..76435ea230a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
index f864347f6db..2a142c650f2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
index 21f0affc89b..fcde65168dc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
index 078ce11ba3a..7d8463e6c00 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
index 1f8fdcdf588..020962baf58 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
@@ -63,5 +63,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
index 4383096c385..3b29bcbb7c1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
@@ -37,5 +37,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
index 5e060810c17..69ac5043427 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
@@ -63,5 +63,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
index 4c588281c99..70dc728ec65 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
@@ -37,5 +37,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
index 39a86d40a93..b4fbd13875d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
@@ -37,5 +37,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
index d6026b20802..ae608a722e4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
index 6a221f4f58e..d8e33add533 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
index f8c31793048..bbca0b5d3b7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
index bbb2e641211..5050020b045 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
index 06ffc957e0d..2ec306a5ca3 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
index c2842955bd3..02e83bda3ac 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
index 4ccb5615308..913417988ec 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
index de778d1f3b5..9135209b9dd 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
index f575eb5bb29..0f0256dd437 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
index 34b82e1dc08..bda89a302d0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
index e7b05f2e279..6df4b78d673 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
index 87edad4f746..ef8f95e9e23 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
index 822f554886d..5107f01eccc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
index 4fa96b9e776..b84fd86f293 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
index 3d1a2031aec..47a3dd8c030 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
index 5eff05bb771..364fcf38bf2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
index 5d02e483b5a..0e4b3ad98f8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
index 69c749590ec..9bd175665d2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
index 9a996926cf9..d478e5ffa78 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
@@ -31,5 +31,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
index 9a996926cf9..d478e5ffa78 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
@@ -31,5 +31,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
index 08feb57aadc..c9cf6e25f5c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
index c5f1d918856..4b8556491f3 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
index 145ed7817a2..d1e4f0e827d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
index 2739540e1fc..3459682f615 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
index 6fe0098cf08..d221eae489d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
index 877aaa89019..9984324d5aa 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
index 6f84268c6e1..67d3fcb59d9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
index d3d02769a7a..735666f3f16 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
index 138a3029550..08fecd64cf8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
index 06c81f7d6dc..6bc1e07c793 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
index ed880d102ed..5a2ecd07bf5 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
index 6a221f4f58e..d8e33add533 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
index 3dedb878e27..fa20f955b91 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
index 2c96e87927c..410f1c136a2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
index 722e90de112..79fa293d505 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
index 17f806ff4c6..b858f75191c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
index 5cd70931b7e..39884de6d04 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
index c90c7511456..65748aeaa88 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
index bf3d60e9a88..0a7ba0b4313 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
index c5ca60874a9..633cbdb2893 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
index 9b15c863336..61e0fc51b19 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
index 9156a20b1df..7efe3d05d39 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
index a865ce88b07..4198c3aa66d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
index b6d7489f461..3c9e826e4da 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
index 77759515ed1..b9d441246b1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
index 74ed07666cf..080f4cabe3e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
index e2f063676ff..e38c050d058 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
index f84e3610577..1aa966e3a01 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
index 078ce11ba3a..7d8463e6c00 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
index 657f8baad08..7c557d06cb7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
index 657f8baad08..7c557d06cb7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
index 90e88f4b1fd..2777665d134 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
index 90e88f4b1fd..2777665d134 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
index a9569bcdb1b..8726b93075c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
index a9569bcdb1b..8726b93075c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
index a9569bcdb1b..8726b93075c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
index 88b7ac476f6..918d423f39e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
index 88b7ac476f6..918d423f39e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
index 35df6f97f40..ac74eee2dc8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
index 35df6f97f40..ac74eee2dc8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
index 3521d711111..b3d81f3a876 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
index 3521d711111..b3d81f3a876 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -28,5 +28,45 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "credential": {
+ "type": "object",
+ "description": "Credential configuration for authenticating with the service.",
+ "properties": {
+ "Type": {
+ "type": "string",
+ "description": "The credential type to use for authentication."
+ }
+ }
+ },
+ "options": {
+ "type": "object",
+ "description": "Client pipeline options.",
+ "properties": {
+ "NetworkTimeout": {
+ "type": "string",
+ "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
+ },
+ "RetryPolicy": {
+ "type": "object",
+ "description": "Retry policy configuration.",
+ "properties": {
+ "MaxRetries": {
+ "type": "integer",
+ "description": "Maximum number of retries."
+ },
+ "Delay": {
+ "type": "string",
+ "description": "Delay between retries (TimeSpan format)."
+ },
+ "MaxDelay": {
+ "type": "string",
+ "description": "Maximum delay between retries (TimeSpan format)."
+ }
+ }
+ }
+ }
+ }
}
}
\ No newline at end of file
From be700ca4b16ce3ca783ece2f95f9ebdaefdb4991 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 16:30:08 +0000
Subject: [PATCH 09/19] Update Check-GitChanges.ps1 to detect untracked files
Add a check for untracked files using `git ls-files --others` so
that newly generated files (e.g. ConfigurationSchema.json) that
aren't yet checked in will be caught by the regen check.
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/b6fb5324-007c-41d4-a4fc-672aedb648cb
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../http-client-csharp/eng/scripts/Check-GitChanges.ps1 | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/packages/http-client-csharp/eng/scripts/Check-GitChanges.ps1 b/packages/http-client-csharp/eng/scripts/Check-GitChanges.ps1
index c4bde91a49e..90ce6f8b80c 100644
--- a/packages/http-client-csharp/eng/scripts/Check-GitChanges.ps1
+++ b/packages/http-client-csharp/eng/scripts/Check-GitChanges.ps1
@@ -20,3 +20,11 @@ Invoke-LoggedCommand "git -c core.safecrlf=false diff --ignore-space-at-eol --ex
if($LastExitCode -ne 0) {
throw "Changes detected"
}
+
+# Check for untracked files that should have been committed (e.g. newly generated files)
+$untrackedOutput = Invoke-LoggedCommand "git ls-files --others --exclude-standard -- $packageRoot"
+if ($untrackedOutput) {
+ Write-Host "Untracked files detected:"
+ Write-Host $untrackedOutput
+ throw "Untracked files detected"
+}
From 4195716eafc53b25d0ef099f28f169c8c2e15cce Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 17:11:52 +0000
Subject: [PATCH 10/19] Remove local definitions from ConfigurationSchema.json
Common definitions (credential, options) are already provided by the
System.ClientModel base schema and should not be duplicated in each
generated schema. The $ref pointers still reference #/definitions/*
and will resolve against the base schema when composed.
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/082ce30a-3f7b-41bc-9a95-bde13d780ff1
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../src/ConfigurationSchemaGenerator.cs | 59 -------------------
.../test/ConfigurationSchemaGeneratorTests.cs | 21 ++-----
.../schema/ConfigurationSchema.json | 40 -------------
.../api-key/schema/ConfigurationSchema.json | 40 -------------
.../custom/schema/ConfigurationSchema.json | 40 -------------
.../oauth2/schema/ConfigurationSchema.json | 40 -------------
.../union/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../default/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../array/schema/ConfigurationSchema.json | 40 -------------
.../bytes/schema/ConfigurationSchema.json | 40 -------------
.../datetime/schema/ConfigurationSchema.json | 40 -------------
.../duration/schema/ConfigurationSchema.json | 40 -------------
.../numeric/schema/ConfigurationSchema.json | 40 -------------
.../basic/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../path/schema/ConfigurationSchema.json | 40 -------------
.../query/schema/ConfigurationSchema.json | 40 -------------
.../spread/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../multipart/schema/ConfigurationSchema.json | 40 -------------
.../pageable/schema/ConfigurationSchema.json | 40 -------------
.../xml/schema/ConfigurationSchema.json | 40 -------------
.../v1/schema/ConfigurationSchema.json | 40 -------------
.../v2/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../routes/schema/ConfigurationSchema.json | 40 -------------
.../json/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../multiple/schema/ConfigurationSchema.json | 40 -------------
.../single/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../versioned/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../array/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../fixed/schema/ConfigurationSchema.json | 40 -------------
.../empty/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../recursive/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../usage/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../nullable/schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../schema/ConfigurationSchema.json | 40 -------------
.../scalar/schema/ConfigurationSchema.json | 40 -------------
.../union/schema/ConfigurationSchema.json | 40 -------------
.../added/v1/schema/ConfigurationSchema.json | 40 -------------
.../added/v2/schema/ConfigurationSchema.json | 40 -------------
.../v1/schema/ConfigurationSchema.json | 40 -------------
.../v2/schema/ConfigurationSchema.json | 40 -------------
.../v1/schema/ConfigurationSchema.json | 40 -------------
.../v2/schema/ConfigurationSchema.json | 40 -------------
.../v2Preview/schema/ConfigurationSchema.json | 40 -------------
.../v1/schema/ConfigurationSchema.json | 40 -------------
.../v2/schema/ConfigurationSchema.json | 40 -------------
.../v1/schema/ConfigurationSchema.json | 40 -------------
.../v2/schema/ConfigurationSchema.json | 40 -------------
.../v1/schema/ConfigurationSchema.json | 40 -------------
.../v2/schema/ConfigurationSchema.json | 40 -------------
74 files changed, 4 insertions(+), 2956 deletions(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index d95d0017317..e0554e0c872 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -76,67 +76,8 @@ private static JsonObject BuildSchema(
["description"] = "Configuration for a named client instance."
}
}
- },
- ["definitions"] = BuildDefinitions(optionsRef)
- };
- }
-
- private static JsonObject BuildDefinitions(string optionsRef)
- {
- var definitions = new JsonObject
- {
- ["credential"] = new JsonObject
- {
- ["type"] = "object",
- ["description"] = "Credential configuration for authenticating with the service.",
- ["properties"] = new JsonObject
- {
- ["Type"] = new JsonObject
- {
- ["type"] = "string",
- ["description"] = "The credential type to use for authentication."
- }
- }
- },
- [optionsRef] = new JsonObject
- {
- ["type"] = "object",
- ["description"] = "Client pipeline options.",
- ["properties"] = new JsonObject
- {
- ["NetworkTimeout"] = new JsonObject
- {
- ["type"] = "string",
- ["description"] = "The network timeout (TimeSpan format, e.g. '00:01:40')."
- },
- ["RetryPolicy"] = new JsonObject
- {
- ["type"] = "object",
- ["description"] = "Retry policy configuration.",
- ["properties"] = new JsonObject
- {
- ["MaxRetries"] = new JsonObject
- {
- ["type"] = "integer",
- ["description"] = "Maximum number of retries."
- },
- ["Delay"] = new JsonObject
- {
- ["type"] = "string",
- ["description"] = "Delay between retries (TimeSpan format)."
- },
- ["MaxDelay"] = new JsonObject
- {
- ["type"] = "string",
- ["description"] = "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
}
};
-
- return definitions;
}
private static JsonObject BuildClientEntry(ClientProvider client, string optionsRef)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index 43d62100004..fbc9a4fe00b 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -102,7 +102,7 @@ public void Generate_IncludesOptionsReference()
}
[Test]
- public void Generate_IncludesDefinitions()
+ public void Generate_DoesNotIncludeLocalDefinitions()
{
var client = InputFactory.Client("TestService");
var clientProvider = new ClientProvider(client);
@@ -113,23 +113,10 @@ public void Generate_IncludesDefinitions()
Assert.IsNotNull(result);
var doc = JsonNode.Parse(result!)!;
+ // Common definitions (credential, options) are provided by System.ClientModel base schema
+ // and should not be duplicated in the generated schema
var definitions = doc["definitions"];
- Assert.IsNotNull(definitions, "Schema should have a definitions section");
-
- // Verify credential definition
- var credential = definitions!["credential"];
- Assert.IsNotNull(credential, "Definitions should include 'credential'");
- Assert.AreEqual("object", credential!["type"]?.GetValue());
-
- // Verify options definition
- var options = definitions["options"];
- Assert.IsNotNull(options, "Definitions should include 'options'");
- Assert.AreEqual("object", options!["type"]?.GetValue());
-
- // Verify options has expected base properties
- var optionsProperties = options["properties"];
- Assert.IsNotNull(optionsProperties?["NetworkTimeout"], "Options definition should include NetworkTimeout");
- Assert.IsNotNull(optionsProperties?["RetryPolicy"], "Options definition should include RetryPolicy");
+ Assert.IsNull(definitions, "Schema should not include local definitions; they are provided by the base schema");
}
[Test]
diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
index 46eb5639cd9..690284d5ea3 100644
--- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
@@ -68,45 +68,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
index 76435ea230a..c9a04e0b69f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
index 2a142c650f2..f864347f6db 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
index fcde65168dc..21f0affc89b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
index 7d8463e6c00..078ce11ba3a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
index 020962baf58..1f8fdcdf588 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
@@ -63,45 +63,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
index 3b29bcbb7c1..4383096c385 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
@@ -37,45 +37,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
index 69ac5043427..5e060810c17 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
@@ -63,45 +63,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
index 70dc728ec65..4c588281c99 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
@@ -37,45 +37,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
index b4fbd13875d..39a86d40a93 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
@@ -37,45 +37,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
index ae608a722e4..d6026b20802 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
index d8e33add533..6a221f4f58e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
index bbca0b5d3b7..f8c31793048 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
index 5050020b045..bbb2e641211 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
index 2ec306a5ca3..06ffc957e0d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
index 02e83bda3ac..c2842955bd3 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
index 913417988ec..4ccb5615308 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
index 9135209b9dd..de778d1f3b5 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
index 0f0256dd437..f575eb5bb29 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
index bda89a302d0..34b82e1dc08 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
index 6df4b78d673..e7b05f2e279 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
index ef8f95e9e23..87edad4f746 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
index 5107f01eccc..822f554886d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
index b84fd86f293..4fa96b9e776 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
index 47a3dd8c030..3d1a2031aec 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
index 364fcf38bf2..5eff05bb771 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
index 0e4b3ad98f8..5d02e483b5a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
index 9bd175665d2..69c749590ec 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
index d478e5ffa78..9a996926cf9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
@@ -31,45 +31,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
index d478e5ffa78..9a996926cf9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
@@ -31,45 +31,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
index c9cf6e25f5c..08feb57aadc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
index 4b8556491f3..c5f1d918856 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
index d1e4f0e827d..145ed7817a2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
index 3459682f615..2739540e1fc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
index d221eae489d..6fe0098cf08 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
index 9984324d5aa..877aaa89019 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
index 67d3fcb59d9..6f84268c6e1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
index 735666f3f16..d3d02769a7a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
index 08fecd64cf8..138a3029550 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
index 6bc1e07c793..06c81f7d6dc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
index 5a2ecd07bf5..ed880d102ed 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
index d8e33add533..6a221f4f58e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
index fa20f955b91..3dedb878e27 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
index 410f1c136a2..2c96e87927c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
index 79fa293d505..722e90de112 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
index b858f75191c..17f806ff4c6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
index 39884de6d04..5cd70931b7e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
index 65748aeaa88..c90c7511456 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
index 0a7ba0b4313..bf3d60e9a88 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
index 633cbdb2893..c5ca60874a9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
index 61e0fc51b19..9b15c863336 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
index 7efe3d05d39..9156a20b1df 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
index 4198c3aa66d..a865ce88b07 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
index 3c9e826e4da..b6d7489f461 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
index b9d441246b1..77759515ed1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
index 080f4cabe3e..74ed07666cf 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
index e38c050d058..e2f063676ff 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
index 1aa966e3a01..f84e3610577 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
index 7d8463e6c00..078ce11ba3a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
index 7c557d06cb7..657f8baad08 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
index 7c557d06cb7..657f8baad08 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
index 2777665d134..90e88f4b1fd 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
index 2777665d134..90e88f4b1fd 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
index 8726b93075c..a9569bcdb1b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
index 8726b93075c..a9569bcdb1b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
index 8726b93075c..a9569bcdb1b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
index 918d423f39e..88b7ac476f6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
index 918d423f39e..88b7ac476f6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
index ac74eee2dc8..35df6f97f40 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
index ac74eee2dc8..35df6f97f40 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
index b3d81f3a876..3521d711111 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
index b3d81f3a876..3521d711111 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -28,45 +28,5 @@
"description": "Configuration for a named client instance."
}
}
- },
- "definitions": {
- "credential": {
- "type": "object",
- "description": "Credential configuration for authenticating with the service.",
- "properties": {
- "Type": {
- "type": "string",
- "description": "The credential type to use for authentication."
- }
- }
- },
- "options": {
- "type": "object",
- "description": "Client pipeline options.",
- "properties": {
- "NetworkTimeout": {
- "type": "string",
- "description": "The network timeout (TimeSpan format, e.g. \u002700:01:40\u0027)."
- },
- "RetryPolicy": {
- "type": "object",
- "description": "Retry policy configuration.",
- "properties": {
- "MaxRetries": {
- "type": "integer",
- "description": "Maximum number of retries."
- },
- "Delay": {
- "type": "string",
- "description": "Delay between retries (TimeSpan format)."
- },
- "MaxDelay": {
- "type": "string",
- "description": "Maximum delay between retries (TimeSpan format)."
- }
- }
- }
- }
- }
}
}
\ No newline at end of file
From e83c81da1ab49e6c2fa22d7ecd0723f7eb17aeba Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 17:50:35 +0000
Subject: [PATCH 11/19] Add local definitions for non-base types (enums) in
ConfigurationSchema.json
Common definitions (credential, options) are still inherited from the
System.ClientModel base schema. But custom types like enums used as
client option properties are now placed in a local `definitions` section
and referenced via $ref. This avoids inlining enum values and follows
JSON Schema best practices for type reuse.
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/fc9787de-f41a-4056-bb05-0711db26ff84
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../src/ConfigurationSchemaGenerator.cs | 74 ++++++++++++++-----
.../src/Providers/ClientOptionsProvider.cs | 5 +-
.../test/ConfigurationSchemaGeneratorTests.cs | 70 +++++++++++++++++-
.../schema/ConfigurationSchema.json | 27 ++++---
.../default/schema/ConfigurationSchema.json | 19 +++--
.../schema/ConfigurationSchema.json | 27 ++++---
.../schema/ConfigurationSchema.json | 19 +++--
.../schema/ConfigurationSchema.json | 19 +++--
8 files changed, 184 insertions(+), 76 deletions(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index e0554e0c872..975e1de0583 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -16,6 +16,9 @@ namespace Microsoft.TypeSpec.Generator.ClientModel
///
/// Generates a ConfigurationSchema.json file for JSON IntelliSense support in appsettings.json.
/// The schema defines well-known client names and their configuration properties.
+ /// Common definitions (credential, options) are inherited from the System.ClientModel base schema
+ /// and not duplicated here. Only additional types specific to the generated client (e.g., enums,
+ /// custom models) are defined locally.
///
internal static class ConfigurationSchemaGenerator
{
@@ -52,15 +55,17 @@ private static JsonObject BuildSchema(
string sectionName,
string optionsRef)
{
+ // Collect local definitions for non-base types during schema generation
+ var localDefinitions = new Dictionary();
var clientProperties = new JsonObject();
foreach (var client in clients)
{
- var clientEntry = BuildClientEntry(client, optionsRef);
+ var clientEntry = BuildClientEntry(client, optionsRef, localDefinitions);
clientProperties[client.Name] = clientEntry;
}
- return new JsonObject
+ var schema = new JsonObject
{
["$schema"] = "http://json-schema.org/draft-07/schema#",
["type"] = "object",
@@ -78,9 +83,22 @@ private static JsonObject BuildSchema(
}
}
};
+
+ // Add local definitions only for types not covered by the base schema
+ if (localDefinitions.Count > 0)
+ {
+ var definitions = new JsonObject();
+ foreach (var (name, definition) in localDefinitions.OrderBy(kvp => kvp.Key))
+ {
+ definitions[name] = definition;
+ }
+ schema["definitions"] = definitions;
+ }
+
+ return schema;
}
- private static JsonObject BuildClientEntry(ClientProvider client, string optionsRef)
+ private static JsonObject BuildClientEntry(ClientProvider client, string optionsRef, Dictionary localDefinitions)
{
var settings = client.ClientSettings!;
var properties = new JsonObject();
@@ -88,24 +106,24 @@ private static JsonObject BuildClientEntry(ClientProvider client, string options
// Add endpoint property (Name is already transformed by PropertyProvider construction)
if (settings.EndpointProperty != null)
{
- properties[settings.EndpointProperty.Name] = BuildPropertySchema(settings.EndpointProperty);
+ properties[settings.EndpointProperty.Name] = BuildPropertySchema(settings.EndpointProperty, localDefinitions);
}
// Add other required parameters (raw param names need ToIdentifierName() for PascalCase)
foreach (var param in settings.OtherRequiredParams)
{
var propName = param.Name.ToIdentifierName();
- properties[propName] = GetJsonSchemaForType(param.Type);
+ properties[propName] = GetJsonSchemaForType(param.Type, localDefinitions);
}
- // Add credential reference
+ // Add credential reference (defined in System.ClientModel base schema)
properties["Credential"] = new JsonObject
{
["$ref"] = "#/definitions/credential"
};
// Add options
- properties["Options"] = BuildOptionsSchema(client, optionsRef);
+ properties["Options"] = BuildOptionsSchema(client, optionsRef, localDefinitions);
return new JsonObject
{
@@ -115,7 +133,7 @@ private static JsonObject BuildClientEntry(ClientProvider client, string options
};
}
- private static JsonObject BuildOptionsSchema(ClientProvider client, string optionsRef)
+ private static JsonObject BuildOptionsSchema(ClientProvider client, string optionsRef, Dictionary localDefinitions)
{
var clientOptions = client.EffectiveClientOptions;
if (clientOptions == null)
@@ -143,7 +161,7 @@ private static JsonObject BuildOptionsSchema(ClientProvider client, string optio
var extensionProperties = new JsonObject();
foreach (var prop in customProperties)
{
- extensionProperties[prop.Name] = GetJsonSchemaForType(prop.Type);
+ extensionProperties[prop.Name] = GetJsonSchemaForType(prop.Type, localDefinitions);
}
return new JsonObject
@@ -160,9 +178,9 @@ private static JsonObject BuildOptionsSchema(ClientProvider client, string optio
};
}
- private static JsonObject BuildPropertySchema(PropertyProvider property)
+ private static JsonObject BuildPropertySchema(PropertyProvider property, Dictionary localDefinitions)
{
- var schema = GetJsonSchemaForType(property.Type);
+ var schema = GetJsonSchemaForType(property.Type, localDefinitions);
if (property.Description != null)
{
@@ -176,7 +194,7 @@ private static JsonObject BuildPropertySchema(PropertyProvider property)
return schema;
}
- internal static JsonObject GetJsonSchemaForType(CSharpType type)
+ internal static JsonObject GetJsonSchemaForType(CSharpType type, Dictionary? localDefinitions = null)
{
// Unwrap nullable types
var effectiveType = type.IsNullable ? type.WithNullable(false) : type;
@@ -186,7 +204,7 @@ internal static JsonObject GetJsonSchemaForType(CSharpType type)
{
if (effectiveType.IsEnum)
{
- return GetJsonSchemaForEnum(effectiveType);
+ return GetJsonSchemaForEnum(effectiveType, localDefinitions);
}
return new JsonObject { ["type"] = "object" };
@@ -195,7 +213,7 @@ internal static JsonObject GetJsonSchemaForType(CSharpType type)
// Handle collection types
if (effectiveType.IsList)
{
- return BuildArraySchema(effectiveType);
+ return BuildArraySchema(effectiveType, localDefinitions);
}
var frameworkType = effectiveType.FrameworkType;
@@ -228,7 +246,7 @@ internal static JsonObject GetJsonSchemaForType(CSharpType type)
return new JsonObject { ["type"] = "object" };
}
- private static JsonObject GetJsonSchemaForEnum(CSharpType enumType)
+ private static JsonObject GetJsonSchemaForEnum(CSharpType enumType, Dictionary? localDefinitions)
{
// Search both top-level and nested types (e.g., service version enums nested in options) in a single pass
var enumProvider = CodeModelGenerator.Instance.OutputLibrary.TypeProviders
@@ -244,10 +262,11 @@ private static JsonObject GetJsonSchemaForEnum(CSharpType enumType)
values.Add(JsonValue.Create(member.Value?.ToString()));
}
+ JsonObject enumSchema;
if (enumType.IsStruct)
{
// Extensible enum — use anyOf to allow known values + custom strings
- return new JsonObject
+ enumSchema = new JsonObject
{
["anyOf"] = new JsonArray
{
@@ -256,23 +275,38 @@ private static JsonObject GetJsonSchemaForEnum(CSharpType enumType)
}
};
}
+ else
+ {
+ // Fixed enum
+ enumSchema = new JsonObject { ["enum"] = values };
+ }
+
+ // Register as a local definition if we're collecting them
+ if (localDefinitions != null)
+ {
+ var definitionName = char.ToLowerInvariant(enumProvider.Name[0]) + enumProvider.Name.Substring(1);
+ if (!localDefinitions.ContainsKey(definitionName))
+ {
+ localDefinitions[definitionName] = enumSchema;
+ }
+ return new JsonObject { ["$ref"] = $"#/definitions/{definitionName}" };
+ }
- // Fixed enum
- return new JsonObject { ["enum"] = values };
+ return enumSchema;
}
// Fallback: just string
return new JsonObject { ["type"] = "string" };
}
- private static JsonObject BuildArraySchema(CSharpType listType)
+ private static JsonObject BuildArraySchema(CSharpType listType, Dictionary? localDefinitions)
{
if (listType.Arguments.Count > 0)
{
return new JsonObject
{
["type"] = "array",
- ["items"] = GetJsonSchemaForType(listType.Arguments[0])
+ ["items"] = GetJsonSchemaForType(listType.Arguments[0], localDefinitions)
};
}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientOptionsProvider.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientOptionsProvider.cs
index 2751a397773..a2420740832 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientOptionsProvider.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientOptionsProvider.cs
@@ -10,9 +10,9 @@
using Microsoft.TypeSpec.Generator.Input.Extensions;
using Microsoft.TypeSpec.Generator.Primitives;
using Microsoft.TypeSpec.Generator.Providers;
+using Microsoft.TypeSpec.Generator.Shared;
using Microsoft.TypeSpec.Generator.Snippets;
using Microsoft.TypeSpec.Generator.Statements;
-using Microsoft.TypeSpec.Generator.Shared;
using Microsoft.TypeSpec.Generator.Utilities;
using static Microsoft.TypeSpec.Generator.Snippets.Snippet;
@@ -20,7 +20,6 @@ namespace Microsoft.TypeSpec.Generator.ClientModel.Providers
{
public class ClientOptionsProvider : TypeProvider
{
- private const string ServicePrefix = "Service";
private const string VersionSuffix = "Version";
private const string ApiVersionSuffix = "ApiVersion";
private const string LatestPrefix = "Latest";
@@ -124,7 +123,7 @@ private static bool UseSingletonInstance(InputClient inputClient)
internal IReadOnlyDictionary? VersionProperties => field ??= BuildVersionProperties();
- private Dictionary? BuildVersionProperties()
+ private Dictionary? BuildVersionProperties()
{
if (_serviceVersionsEnums is null)
{
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index fbc9a4fe00b..256b5264039 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -102,7 +102,7 @@ public void Generate_IncludesOptionsReference()
}
[Test]
- public void Generate_DoesNotIncludeLocalDefinitions()
+ public void Generate_DoesNotIncludeBaseDefinitions_WhenNoCustomTypes()
{
var client = InputFactory.Client("TestService");
var clientProvider = new ClientProvider(client);
@@ -113,10 +113,72 @@ public void Generate_DoesNotIncludeLocalDefinitions()
Assert.IsNotNull(result);
var doc = JsonNode.Parse(result!)!;
- // Common definitions (credential, options) are provided by System.ClientModel base schema
- // and should not be duplicated in the generated schema
+ // When no custom types (enums, models) are used, there should be no local definitions.
+ // Common definitions (credential, options) are provided by System.ClientModel base schema.
var definitions = doc["definitions"];
- Assert.IsNull(definitions, "Schema should not include local definitions; they are provided by the base schema");
+ Assert.IsNull(definitions, "Schema should not include local definitions when no custom types are used");
+ }
+
+ [Test]
+ public void Generate_IncludesLocalDefinitions_ForEnumTypes()
+ {
+ // Create a non-api-version enum type
+ var retryModeEnum = InputFactory.StringEnum(
+ "RetryMode",
+ [("Fixed", "Fixed"), ("Exponential", "Exponential")],
+ isExtensible: false);
+
+ // Reset and reload mock with the enum registered
+ var singletonField = typeof(ClientOptionsProvider).GetField("_singletonInstance", BindingFlags.Static | BindingFlags.NonPublic);
+ singletonField?.SetValue(null, null);
+ MockHelpers.LoadMockGenerator(inputEnums: () => [retryModeEnum]);
+
+ InputParameter[] inputParameters =
+ [
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.String,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true),
+ InputFactory.QueryParameter(
+ "retryMode",
+ retryModeEnum,
+ isRequired: false,
+ defaultValue: new InputConstant("Exponential", retryModeEnum),
+ scope: InputParameterScope.Client,
+ isApiVersion: false)
+ ];
+ var client = InputFactory.Client("TestService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ // Verify local definitions contain the enum
+ var definitions = doc["definitions"];
+ Assert.IsNotNull(definitions, "Schema should include local definitions for non-base types");
+
+ var retryModeDef = definitions!["retryMode"];
+ Assert.IsNotNull(retryModeDef, "Definitions should include 'retryMode' enum");
+
+ // Fixed enum should have enum values
+ var enumValues = retryModeDef!["enum"];
+ Assert.IsNotNull(enumValues, "Enum definition should have 'enum' values");
+
+ // Verify the option property references the local definition via $ref
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var options = clientEntry?["properties"]?["Options"];
+ var allOf = options?["allOf"];
+ Assert.IsNotNull(allOf, "Options should use allOf when client has custom options");
+
+ var extensionProperties = allOf!.AsArray()[1]?["properties"];
+ var retryModeProp = extensionProperties!["RetryMode"];
+ Assert.IsNotNull(retryModeProp, "Custom option property should exist");
+ Assert.AreEqual("#/definitions/retryMode", retryModeProp!["$ref"]?.GetValue());
}
[Test]
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
index 1f8fdcdf588..fe78c0e2d0f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
@@ -15,13 +15,7 @@
"description": "Gets or sets the Endpoint."
},
"Client": {
- "enum": [
- "default",
- "multi-client",
- "renamed-operation",
- "two-operation-group",
- "client-operation-group"
- ]
+ "$ref": "#/definitions/clientType"
},
"Credential": {
"$ref": "#/definitions/credential"
@@ -41,13 +35,7 @@
"description": "Gets or sets the Endpoint."
},
"Client": {
- "enum": [
- "default",
- "multi-client",
- "renamed-operation",
- "two-operation-group",
- "client-operation-group"
- ]
+ "$ref": "#/definitions/clientType"
},
"Credential": {
"$ref": "#/definitions/credential"
@@ -63,5 +51,16 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "clientType": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
index 4383096c385..87745bec456 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
@@ -15,13 +15,7 @@
"description": "Gets or sets the Endpoint."
},
"Client": {
- "enum": [
- "default",
- "multi-client",
- "renamed-operation",
- "two-operation-group",
- "client-operation-group"
- ]
+ "$ref": "#/definitions/clientType"
},
"Credential": {
"$ref": "#/definitions/credential"
@@ -37,5 +31,16 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "clientType": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
index 5e060810c17..14ddf3f40c9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
@@ -15,13 +15,7 @@
"description": "Gets or sets the Endpoint."
},
"Client": {
- "enum": [
- "default",
- "multi-client",
- "renamed-operation",
- "two-operation-group",
- "client-operation-group"
- ]
+ "$ref": "#/definitions/clientType"
},
"Credential": {
"$ref": "#/definitions/credential"
@@ -41,13 +35,7 @@
"description": "Gets or sets the Endpoint."
},
"Client": {
- "enum": [
- "default",
- "multi-client",
- "renamed-operation",
- "two-operation-group",
- "client-operation-group"
- ]
+ "$ref": "#/definitions/clientType"
},
"Credential": {
"$ref": "#/definitions/credential"
@@ -63,5 +51,16 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "clientType": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
index 4c588281c99..f6fdda565b3 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
@@ -15,13 +15,7 @@
"description": "Gets or sets the Endpoint."
},
"Client": {
- "enum": [
- "default",
- "multi-client",
- "renamed-operation",
- "two-operation-group",
- "client-operation-group"
- ]
+ "$ref": "#/definitions/clientType"
},
"Credential": {
"$ref": "#/definitions/credential"
@@ -37,5 +31,16 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "clientType": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
index 39a86d40a93..d5d971b1416 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
@@ -15,13 +15,7 @@
"description": "Gets or sets the Endpoint."
},
"Client": {
- "enum": [
- "default",
- "multi-client",
- "renamed-operation",
- "two-operation-group",
- "client-operation-group"
- ]
+ "$ref": "#/definitions/clientType"
},
"Credential": {
"$ref": "#/definitions/credential"
@@ -37,5 +31,16 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "clientType": {
+ "enum": [
+ "default",
+ "multi-client",
+ "renamed-operation",
+ "two-operation-group",
+ "client-operation-group"
+ ]
+ }
}
}
\ No newline at end of file
From b0f6975a6e2e5030082d96048816fdd8c98278e0 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 17:52:21 +0000
Subject: [PATCH 12/19] Fix edge case: handle single-character enum names in
definition naming
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/fc9787de-f41a-4056-bb05-0711db26ff84
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../src/ConfigurationSchemaGenerator.cs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index 975e1de0583..b3ba9b7240e 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -284,7 +284,10 @@ private static JsonObject GetJsonSchemaForEnum(CSharpType enumType, Dictionary 1
+ ? char.ToLowerInvariant(name[0]) + name.Substring(1)
+ : name.ToLowerInvariant();
if (!localDefinitions.ContainsKey(definitionName))
{
localDefinitions[definitionName] = enumSchema;
From 3de54bd6163e144fafdd9ffdc41bf5ff71aa4544 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 18:16:15 +0000
Subject: [PATCH 13/19] Model options type inheritance from core type via named
local definitions
Each client's options type is now defined as a named local definition that
inherits from the base 'options' type using allOf. This follows the same
pattern used in the Azure emitter (azure-sdk-for-net#57548) where client
options types extend the core options type.
- Options without custom properties: allOf with single base ref
- Options with custom properties: allOf with base ref + extension object
- The client's Options property references the local definition via $ref
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/389f65d2-8aed-4cd9-a7cd-29e07b2af4f6
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../src/ConfigurationSchemaGenerator.cs | 57 ++++++++++-------
.../test/ConfigurationSchemaGeneratorTests.cs | 64 +++++++++++++++----
.../schema/ConfigurationSchema.json | 15 ++++-
.../api-key/schema/ConfigurationSchema.json | 11 +++-
.../custom/schema/ConfigurationSchema.json | 11 +++-
.../oauth2/schema/ConfigurationSchema.json | 11 +++-
.../union/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 18 +++++-
.../default/schema/ConfigurationSchema.json | 9 ++-
.../schema/ConfigurationSchema.json | 18 +++++-
.../schema/ConfigurationSchema.json | 9 ++-
.../schema/ConfigurationSchema.json | 9 ++-
.../schema/ConfigurationSchema.json | 11 +++-
.../array/schema/ConfigurationSchema.json | 11 +++-
.../bytes/schema/ConfigurationSchema.json | 11 +++-
.../datetime/schema/ConfigurationSchema.json | 11 +++-
.../duration/schema/ConfigurationSchema.json | 11 +++-
.../numeric/schema/ConfigurationSchema.json | 11 +++-
.../basic/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../path/schema/ConfigurationSchema.json | 11 +++-
.../query/schema/ConfigurationSchema.json | 11 +++-
.../spread/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../multipart/schema/ConfigurationSchema.json | 11 +++-
.../pageable/schema/ConfigurationSchema.json | 11 +++-
.../xml/schema/ConfigurationSchema.json | 11 +++-
.../v1/schema/ConfigurationSchema.json | 11 +++-
.../v2/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../routes/schema/ConfigurationSchema.json | 11 +++-
.../json/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../multiple/schema/ConfigurationSchema.json | 11 +++-
.../single/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../versioned/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../array/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../fixed/schema/ConfigurationSchema.json | 11 +++-
.../empty/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../recursive/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../usage/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../nullable/schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../schema/ConfigurationSchema.json | 11 +++-
.../scalar/schema/ConfigurationSchema.json | 11 +++-
.../union/schema/ConfigurationSchema.json | 11 +++-
.../added/v1/schema/ConfigurationSchema.json | 11 +++-
.../added/v2/schema/ConfigurationSchema.json | 11 +++-
.../v1/schema/ConfigurationSchema.json | 11 +++-
.../v2/schema/ConfigurationSchema.json | 11 +++-
.../v1/schema/ConfigurationSchema.json | 11 +++-
.../v2/schema/ConfigurationSchema.json | 11 +++-
.../v2Preview/schema/ConfigurationSchema.json | 11 +++-
.../v1/schema/ConfigurationSchema.json | 11 +++-
.../v2/schema/ConfigurationSchema.json | 11 +++-
.../v1/schema/ConfigurationSchema.json | 11 +++-
.../v2/schema/ConfigurationSchema.json | 11 +++-
.../v1/schema/ConfigurationSchema.json | 11 +++-
.../v2/schema/ConfigurationSchema.json | 11 +++-
74 files changed, 815 insertions(+), 110 deletions(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index b3ba9b7240e..f5a2d052f79 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -144,37 +144,50 @@ private static JsonObject BuildOptionsSchema(ClientProvider client, string optio
};
}
- // Get client-specific option properties (public, non-version properties)
- var customProperties = clientOptions.Properties
- .Where(p => p.Modifiers.HasFlag(MethodSignatureModifiers.Public))
- .ToList();
-
- if (customProperties.Count == 0)
+ // Build a named local definition for this client's options type that inherits from the base options.
+ // This follows the same pattern used in the Azure emitter where client options types extend the
+ // core options type using allOf.
+ var optionsTypeName = clientOptions.Name;
+ var definitionName = optionsTypeName.Length > 1
+ ? char.ToLowerInvariant(optionsTypeName[0]) + optionsTypeName.Substring(1)
+ : optionsTypeName.ToLowerInvariant();
+
+ if (!localDefinitions.ContainsKey(definitionName))
{
- return new JsonObject
+ // Get client-specific option properties (public, non-version properties)
+ var customProperties = clientOptions.Properties
+ .Where(p => p.Modifiers.HasFlag(MethodSignatureModifiers.Public))
+ .ToList();
+
+ var allOfArray = new JsonArray
{
- ["$ref"] = $"#/definitions/{optionsRef}"
+ new JsonObject { ["$ref"] = $"#/definitions/{optionsRef}" }
};
- }
- // Use allOf to extend the base options with client-specific properties
- var extensionProperties = new JsonObject();
- foreach (var prop in customProperties)
- {
- extensionProperties[prop.Name] = GetJsonSchemaForType(prop.Type, localDefinitions);
- }
-
- return new JsonObject
- {
- ["allOf"] = new JsonArray
+ if (customProperties.Count > 0)
{
- new JsonObject { ["$ref"] = $"#/definitions/{optionsRef}" },
- new JsonObject
+ var extensionProperties = new JsonObject();
+ foreach (var prop in customProperties)
+ {
+ extensionProperties[prop.Name] = GetJsonSchemaForType(prop.Type, localDefinitions);
+ }
+
+ allOfArray.Add(new JsonObject
{
["type"] = "object",
["properties"] = extensionProperties
- }
+ });
}
+
+ localDefinitions[definitionName] = new JsonObject
+ {
+ ["allOf"] = allOfArray
+ };
+ }
+
+ return new JsonObject
+ {
+ ["$ref"] = $"#/definitions/{definitionName}"
};
}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index 256b5264039..deabd6d166a 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -97,12 +97,23 @@ public void Generate_IncludesOptionsReference()
var options = clientEntry?["properties"]?["Options"];
Assert.IsNotNull(options, "Client entry should have an Options property");
- // Without client-specific options, should be a simple $ref
- Assert.AreEqual("#/definitions/options", options!["$ref"]?.GetValue());
+ // Options should reference a local named definition that inherits from the base options
+ var optionsRef = options!["$ref"]?.GetValue();
+ Assert.IsNotNull(optionsRef, "Options should be a $ref");
+ Assert.That(optionsRef, Does.StartWith("#/definitions/"), "Options $ref should point to a local definition");
+
+ // Verify the local definition exists and inherits from base options via allOf
+ var defName = optionsRef!.Replace("#/definitions/", "");
+ var optionsDef = doc["definitions"]?[defName];
+ Assert.IsNotNull(optionsDef, $"Local definition '{defName}' should exist");
+
+ var allOf = optionsDef!["allOf"];
+ Assert.IsNotNull(allOf, "Options definition should use allOf to inherit from base options");
+ Assert.AreEqual("#/definitions/options", allOf!.AsArray()[0]?["$ref"]?.GetValue());
}
[Test]
- public void Generate_DoesNotIncludeBaseDefinitions_WhenNoCustomTypes()
+ public void Generate_IncludesOptionsDefinition_InheritingFromBase()
{
var client = InputFactory.Client("TestService");
var clientProvider = new ClientProvider(client);
@@ -113,10 +124,23 @@ public void Generate_DoesNotIncludeBaseDefinitions_WhenNoCustomTypes()
Assert.IsNotNull(result);
var doc = JsonNode.Parse(result!)!;
- // When no custom types (enums, models) are used, there should be no local definitions.
- // Common definitions (credential, options) are provided by System.ClientModel base schema.
+ // The options type should always be defined as a local definition that inherits from base options.
+ // Common definitions (credential, base options) are provided by System.ClientModel base schema.
var definitions = doc["definitions"];
- Assert.IsNull(definitions, "Schema should not include local definitions when no custom types are used");
+ Assert.IsNotNull(definitions, "Schema should include local definitions for the options type");
+
+ // Find the options definition and verify it inherits from the base options
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var optionsRef = clientEntry?["properties"]?["Options"]?["$ref"]?.GetValue();
+ Assert.IsNotNull(optionsRef, "Options should reference a local definition");
+ var defName = optionsRef!.Replace("#/definitions/", "");
+ var optionsDef = definitions![defName];
+ Assert.IsNotNull(optionsDef, $"Options definition '{defName}' should exist");
+
+ var allOf = optionsDef!["allOf"];
+ Assert.IsNotNull(allOf, "Options definition should use allOf to inherit from base options");
+ Assert.AreEqual("#/definitions/options", allOf!.AsArray()[0]?["$ref"]?.GetValue(),
+ "First allOf element should reference the base options type");
}
[Test]
@@ -172,8 +196,15 @@ public void Generate_IncludesLocalDefinitions_ForEnumTypes()
// Verify the option property references the local definition via $ref
var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
var options = clientEntry?["properties"]?["Options"];
- var allOf = options?["allOf"];
- Assert.IsNotNull(allOf, "Options should use allOf when client has custom options");
+ var optionsRef = options?["$ref"]?.GetValue();
+ Assert.IsNotNull(optionsRef, "Options should reference a local definition");
+ var optionsDefName = optionsRef!.Replace("#/definitions/", "");
+
+ // The options definition should use allOf with custom properties
+ var optionsDef = definitions![optionsDefName];
+ Assert.IsNotNull(optionsDef, $"Options definition '{optionsDefName}' should exist");
+ var allOf = optionsDef!["allOf"];
+ Assert.IsNotNull(allOf, "Options definition should use allOf");
var extensionProperties = allOf!.AsArray()[1]?["properties"];
var retryModeProp = extensionProperties!["RetryMode"];
@@ -268,12 +299,21 @@ public void Generate_IncludesOptionsAllOf_WhenClientHasCustomOptions()
var options = clientEntry?["properties"]?["Options"];
Assert.IsNotNull(options, "Client entry should have an Options property");
- // When there are custom options, should use allOf
- var allOf = options!["allOf"];
- Assert.IsNotNull(allOf, "Options should use allOf when client has custom options");
+ // Options should reference a named local definition
+ var optionsRef = options!["$ref"]?.GetValue();
+ Assert.IsNotNull(optionsRef, "Options should be a $ref to a local definition");
+ var defName = optionsRef!.Replace("#/definitions/", "");
+
+ // Verify the local definition uses allOf to inherit from base options with custom properties
+ var optionsDef = doc["definitions"]?[defName];
+ Assert.IsNotNull(optionsDef, $"Options definition '{defName}' should exist");
+
+ var allOf = optionsDef!["allOf"];
+ Assert.IsNotNull(allOf, "Options definition should use allOf");
var allOfArray = allOf!.AsArray();
- Assert.AreEqual(2, allOfArray.Count);
+ Assert.AreEqual(2, allOfArray.Count,
+ "allOf should have base options ref + custom properties extension");
Assert.AreEqual("#/definitions/options", allOfArray[0]?["$ref"]?.GetValue());
Assert.AreEqual("object", allOfArray[1]?["type"]?.GetValue());
diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
index 690284d5ea3..97babdc9b9c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
@@ -21,7 +21,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/sampleTypeSpecClientOptions"
}
}
},
@@ -41,7 +41,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/sampleTypeSpecClientOptions"
}
}
},
@@ -58,7 +58,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/sampleTypeSpecClientOptions"
}
}
}
@@ -68,5 +68,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "sampleTypeSpecClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
index c9a04e0b69f..6a44e9b4a7a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/apiKeyClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "apiKeyClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
index f864347f6db..70ed0cf889c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/customClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "customClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
index 21f0affc89b..c97646c5bce 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/oAuth2ClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "oAuth2ClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
index 078ce11ba3a..82aa60ed786 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/unionClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "unionClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
index fe78c0e2d0f..481abdf98c7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
@@ -21,7 +21,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/firstClientOptions"
}
}
},
@@ -41,7 +41,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/subNamespaceSecondClientOptions"
}
}
}
@@ -61,6 +61,20 @@
"two-operation-group",
"client-operation-group"
]
+ },
+ "firstClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ },
+ "subNamespaceSecondClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
}
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
index 87745bec456..c6643c7eb8d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
@@ -21,7 +21,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/serviceClientOptions"
}
}
}
@@ -41,6 +41,13 @@
"two-operation-group",
"client-operation-group"
]
+ },
+ "serviceClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
}
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
index 14ddf3f40c9..61a595c149a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
@@ -21,7 +21,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/clientAClientOptions"
}
}
},
@@ -41,7 +41,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/clientBClientOptions"
}
}
}
@@ -53,6 +53,20 @@
}
},
"definitions": {
+ "clientAClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ },
+ "clientBClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ },
"clientType": {
"enum": [
"default",
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
index f6fdda565b3..355bfc3c4fa 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
@@ -21,7 +21,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/renamedOperationClientOptions"
}
}
}
@@ -41,6 +41,13 @@
"two-operation-group",
"client-operation-group"
]
+ },
+ "renamedOperationClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
}
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
index d5d971b1416..41d7d3e81cd 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
@@ -21,7 +21,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/twoOperationGroupClientOptions"
}
}
}
@@ -41,6 +41,13 @@
"two-operation-group",
"client-operation-group"
]
+ },
+ "twoOperationGroupClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
}
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
index d6026b20802..51223cde88a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/documentationClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "documentationClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
index 6a221f4f58e..7d90eecb19b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/arrayClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "arrayClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
index f8c31793048..116574aabc1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/bytesClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "bytesClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
index bbb2e641211..e8e5ce6836b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/datetimeClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "datetimeClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
index 06ffc957e0d..26f5f661711 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/durationClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "durationClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
index c2842955bd3..400f61e371d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/numericClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "numericClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
index 4ccb5615308..004494271b8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/basicClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "basicClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
index de778d1f3b5..e5ca12ee704 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/bodyOptionalityClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "bodyOptionalityClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
index f575eb5bb29..5584016c0d8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/collectionFormatClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "collectionFormatClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
index 34b82e1dc08..87e9a3e305d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/pathClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "pathClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
index e7b05f2e279..568a7d68686 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/queryClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "queryClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
index 87edad4f746..0c44958362f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/spreadClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "spreadClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
index 822f554886d..d6057a57085 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/contentNegotiationClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "contentNegotiationClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
index 4fa96b9e776..edf62f53d9b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/jsonMergePatchClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "jsonMergePatchClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
index 3d1a2031aec..07a8ff2444b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/mediaTypeClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "mediaTypeClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
index 5eff05bb771..6533df88e4a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/multiPartClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "multiPartClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
index 5d02e483b5a..7ddb051a30c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/pageableClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "pageableClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
index 69c749590ec..f91ec19f113 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/xmlClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "xmlClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
index 9a996926cf9..69bb4a4f8bc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
@@ -21,7 +21,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/resiliencyServiceDrivenClientOptions"
}
}
}
@@ -31,5 +31,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "resiliencyServiceDrivenClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
index 9a996926cf9..69bb4a4f8bc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
@@ -21,7 +21,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/resiliencyServiceDrivenClientOptions"
}
}
}
@@ -31,5 +31,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "resiliencyServiceDrivenClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
index 08feb57aadc..f0ca16b3bba 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/statusCodeRangeClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "statusCodeRangeClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
index c5f1d918856..055fca8e9cf 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/routesClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "routesClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
index 145ed7817a2..0743664ab47 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/jsonClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "jsonClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
index 2739540e1fc..86525bef08f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/notDefinedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "notDefinedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
index 6fe0098cf08..7968387606d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/multipleClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "multipleClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
index 877aaa89019..74688a3e225 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/singleClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "singleClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
index 6f84268c6e1..5b4dd2338ce 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/notVersionedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "notVersionedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
index d3d02769a7a..e91c0f22531 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/versionedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "versionedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
index 138a3029550..1573b64dc5e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/conditionalRequestClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "conditionalRequestClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
index 06c81f7d6dc..61b1f8d839f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/repeatabilityClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "repeatabilityClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
index ed880d102ed..ca0e14bc956 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/specialWordsClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "specialWordsClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
index 6a221f4f58e..7d90eecb19b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/arrayClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "arrayClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
index 3dedb878e27..6fb4384364d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/dictionaryClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "dictionaryClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
index 2c96e87927c..229fa42435b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/extensibleClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "extensibleClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
index 722e90de112..6f0f42a6a70 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/fixedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "fixedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
index 17f806ff4c6..769e40d64e1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/emptyClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "emptyClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
index 5cd70931b7e..bcd4e454c33 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/enumDiscriminatorClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "enumDiscriminatorClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
index c90c7511456..ef8fe8a59af 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/nestedDiscriminatorClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "nestedDiscriminatorClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
index bf3d60e9a88..73328c87d13 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/notDiscriminatedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "notDiscriminatedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
index c5ca60874a9..4d6429b1c7f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/recursiveClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "recursiveClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
index 9b15c863336..53fae056e4a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/singleDiscriminatorClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "singleDiscriminatorClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
index 9156a20b1df..a7a9edb2635 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/usageClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "usageClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
index a865ce88b07..b43f909b288 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/visibilityClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "visibilityClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
index b6d7489f461..0d92498c0c0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/additionalPropertiesClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "additionalPropertiesClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
index 77759515ed1..25c28d63cf7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/nullableClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "nullableClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
index 74ed07666cf..b70cea11e99 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/optionalClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "optionalClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
index e2f063676ff..8a31f6dde9a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/valueTypesClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "valueTypesClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
index f84e3610577..98f3588af98 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/scalarClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "scalarClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
index 078ce11ba3a..82aa60ed786 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/unionClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "unionClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
index 657f8baad08..db68b65d306 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/addedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "addedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
index 657f8baad08..db68b65d306 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/addedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "addedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
index 90e88f4b1fd..13e7c4de494 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/madeOptionalClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "madeOptionalClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
index 90e88f4b1fd..13e7c4de494 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/madeOptionalClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "madeOptionalClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
index a9569bcdb1b..545a27132d0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/removedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "removedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
index a9569bcdb1b..545a27132d0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/removedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "removedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
index a9569bcdb1b..545a27132d0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/removedClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "removedClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
index 88b7ac476f6..783476286f8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/renamedFromClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "renamedFromClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
index 88b7ac476f6..783476286f8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/renamedFromClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "renamedFromClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
index 35df6f97f40..c1bfe1c4c25 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/returnTypeChangedFromClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "returnTypeChangedFromClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
index 35df6f97f40..c1bfe1c4c25 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/returnTypeChangedFromClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "returnTypeChangedFromClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
index 3521d711111..5b9d8220f5a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/typeChangedFromClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "typeChangedFromClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
index 3521d711111..5b9d8220f5a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -18,7 +18,7 @@
"$ref": "#/definitions/credential"
},
"Options": {
- "$ref": "#/definitions/options"
+ "$ref": "#/definitions/typeChangedFromClientOptions"
}
}
}
@@ -28,5 +28,14 @@
"description": "Configuration for a named client instance."
}
}
+ },
+ "definitions": {
+ "typeChangedFromClientOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
}
}
\ No newline at end of file
From 06c5dbae91cc99508dc40a5e27bd59d76cdf076f Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 18:28:07 +0000
Subject: [PATCH 14/19] Add test cases for options type with additional
properties (string, int, mixed)
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/f557cd05-9182-46bb-806f-405ab81517b9
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../test/ConfigurationSchemaGeneratorTests.cs | 165 ++++++++++++++++++
1 file changed, 165 insertions(+)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index deabd6d166a..3cd2e50d98a 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -325,6 +325,171 @@ public void Generate_IncludesOptionsAllOf_WhenClientHasCustomOptions()
Assert.AreEqual("boolean", enableTenantDiscovery!["type"]?.GetValue());
}
+ [Test]
+ public void Generate_OptionsDefinition_IncludesStringProperty()
+ {
+ InputParameter[] inputParameters =
+ [
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.String,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true),
+ InputFactory.QueryParameter(
+ "audience",
+ InputPrimitiveType.String,
+ isRequired: false,
+ defaultValue: new InputConstant("https://api.example.com", InputPrimitiveType.String),
+ scope: InputParameterScope.Client,
+ isApiVersion: false)
+ ];
+ var client = InputFactory.Client("TestService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var optionsRef = clientEntry?["properties"]?["Options"]?["$ref"]?.GetValue();
+ Assert.IsNotNull(optionsRef);
+ var defName = optionsRef!.Replace("#/definitions/", "");
+
+ var optionsDef = doc["definitions"]?[defName];
+ Assert.IsNotNull(optionsDef);
+
+ var allOf = optionsDef!["allOf"]!.AsArray();
+ Assert.AreEqual(2, allOf.Count, "allOf should have base options + extension");
+ Assert.AreEqual("#/definitions/options", allOf[0]?["$ref"]?.GetValue());
+
+ var extensionProperties = allOf[1]?["properties"];
+ Assert.IsNotNull(extensionProperties);
+ var audienceProp = extensionProperties!["Audience"];
+ Assert.IsNotNull(audienceProp, "String option property should exist");
+ Assert.AreEqual("string", audienceProp!["type"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_OptionsDefinition_IncludesIntegerProperty()
+ {
+ InputParameter[] inputParameters =
+ [
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.String,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true),
+ InputFactory.QueryParameter(
+ "maxRetries",
+ InputPrimitiveType.Int32,
+ isRequired: false,
+ defaultValue: new InputConstant(3, InputPrimitiveType.Int32),
+ scope: InputParameterScope.Client,
+ isApiVersion: false)
+ ];
+ var client = InputFactory.Client("TestService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var optionsRef = clientEntry?["properties"]?["Options"]?["$ref"]?.GetValue();
+ Assert.IsNotNull(optionsRef);
+ var defName = optionsRef!.Replace("#/definitions/", "");
+
+ var optionsDef = doc["definitions"]?[defName];
+ Assert.IsNotNull(optionsDef);
+
+ var allOf = optionsDef!["allOf"]!.AsArray();
+ Assert.AreEqual(2, allOf.Count);
+
+ var extensionProperties = allOf[1]?["properties"];
+ Assert.IsNotNull(extensionProperties);
+ var maxRetriesProp = extensionProperties!["MaxRetries"];
+ Assert.IsNotNull(maxRetriesProp, "Integer option property should exist");
+ Assert.AreEqual("integer", maxRetriesProp!["type"]?.GetValue());
+ }
+
+ [Test]
+ public void Generate_OptionsDefinition_IncludesMultipleMixedProperties()
+ {
+ InputParameter[] inputParameters =
+ [
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.String,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true),
+ InputFactory.QueryParameter(
+ "audience",
+ InputPrimitiveType.String,
+ isRequired: false,
+ defaultValue: new InputConstant("https://api.example.com", InputPrimitiveType.String),
+ scope: InputParameterScope.Client,
+ isApiVersion: false),
+ InputFactory.QueryParameter(
+ "enableCaching",
+ InputPrimitiveType.Boolean,
+ isRequired: false,
+ defaultValue: new InputConstant(true, InputPrimitiveType.Boolean),
+ scope: InputParameterScope.Client,
+ isApiVersion: false),
+ InputFactory.QueryParameter(
+ "maxRetries",
+ InputPrimitiveType.Int32,
+ isRequired: false,
+ defaultValue: new InputConstant(3, InputPrimitiveType.Int32),
+ scope: InputParameterScope.Client,
+ isApiVersion: false)
+ ];
+ var client = InputFactory.Client("TestService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var optionsRef = clientEntry?["properties"]?["Options"]?["$ref"]?.GetValue();
+ Assert.IsNotNull(optionsRef);
+ var defName = optionsRef!.Replace("#/definitions/", "");
+
+ var optionsDef = doc["definitions"]?[defName];
+ Assert.IsNotNull(optionsDef);
+
+ var allOf = optionsDef!["allOf"]!.AsArray();
+ Assert.AreEqual(2, allOf.Count, "allOf should have base options + extension with multiple properties");
+ Assert.AreEqual("#/definitions/options", allOf[0]?["$ref"]?.GetValue());
+ Assert.AreEqual("object", allOf[1]?["type"]?.GetValue());
+
+ var extensionProperties = allOf[1]?["properties"];
+ Assert.IsNotNull(extensionProperties);
+
+ // Verify all three additional properties are present with correct types
+ var audienceProp = extensionProperties!["Audience"];
+ Assert.IsNotNull(audienceProp, "String option property should exist");
+ Assert.AreEqual("string", audienceProp!["type"]?.GetValue());
+
+ var enableCachingProp = extensionProperties!["EnableCaching"];
+ Assert.IsNotNull(enableCachingProp, "Boolean option property should exist");
+ Assert.AreEqual("boolean", enableCachingProp!["type"]?.GetValue());
+
+ var maxRetriesProp = extensionProperties!["MaxRetries"];
+ Assert.IsNotNull(maxRetriesProp, "Integer option property should exist");
+ Assert.AreEqual("integer", maxRetriesProp!["type"]?.GetValue());
+ }
+
[Test]
public void Generate_HandlesMultipleClients()
{
From 1d975e48241349f97a6c3eec7d627d4ea971ce6b Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 18:29:43 +0000
Subject: [PATCH 15/19] Add descriptive assertion message for allOf count in
integer property test
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/f557cd05-9182-46bb-806f-405ab81517b9
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../test/ConfigurationSchemaGeneratorTests.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index 3cd2e50d98a..1d18c87ab0d 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -409,7 +409,7 @@ public void Generate_OptionsDefinition_IncludesIntegerProperty()
Assert.IsNotNull(optionsDef);
var allOf = optionsDef!["allOf"]!.AsArray();
- Assert.AreEqual(2, allOf.Count);
+ Assert.AreEqual(2, allOf.Count, "allOf should have base options + extension");
var extensionProperties = allOf[1]?["properties"];
Assert.IsNotNull(extensionProperties);
From 3db33249718b5a1d6fcb16a4e0a8134d90c34586 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 18:41:30 +0000
Subject: [PATCH 16/19] Add test for options property with model definition and
support model type definitions in schema
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/9b678996-629b-4c2f-8a16-918f2026e9d0
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../src/ConfigurationSchemaGenerator.cs | 43 ++++++++++-
.../test/ConfigurationSchemaGeneratorTests.cs | 76 +++++++++++++++++++
2 files changed, 118 insertions(+), 1 deletion(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index f5a2d052f79..770340d5cb6 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -220,7 +220,7 @@ internal static JsonObject GetJsonSchemaForType(CSharpType type, Dictionary? localDefinitions)
+ {
+ // Search for the model provider in the output library
+ var modelProvider = CodeModelGenerator.Instance.OutputLibrary.TypeProviders
+ .SelectMany(t => new[] { t }.Concat(t.NestedTypes))
+ .FirstOrDefault(m => !(m is EnumProvider) && m.Type.Equals(modelType));
+
+ if (modelProvider != null)
+ {
+ var name = modelProvider.Name;
+ var definitionName = name.Length > 1
+ ? char.ToLowerInvariant(name[0]) + name.Substring(1)
+ : name.ToLowerInvariant();
+
+ if (localDefinitions != null && !localDefinitions.ContainsKey(definitionName))
+ {
+ var modelProperties = new JsonObject();
+ foreach (var prop in modelProvider.Properties
+ .Where(p => p.Modifiers.HasFlag(MethodSignatureModifiers.Public)))
+ {
+ modelProperties[prop.Name] = GetJsonSchemaForType(prop.Type, localDefinitions);
+ }
+
+ var modelSchema = new JsonObject { ["type"] = "object" };
+ if (modelProperties.Count > 0)
+ {
+ modelSchema["properties"] = modelProperties;
+ }
+
+ localDefinitions[definitionName] = modelSchema;
+ }
+
+ if (localDefinitions != null)
+ {
+ return new JsonObject { ["$ref"] = $"#/definitions/{definitionName}" };
+ }
+ }
+
+ return new JsonObject { ["type"] = "object" };
+ }
+
private static JsonObject BuildArraySchema(CSharpType listType, Dictionary? localDefinitions)
{
if (listType.Arguments.Count > 0)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index 1d18c87ab0d..0cc796df820 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -490,6 +490,82 @@ public void Generate_OptionsDefinition_IncludesMultipleMixedProperties()
Assert.AreEqual("integer", maxRetriesProp!["type"]?.GetValue());
}
+ [Test]
+ public void Generate_OptionsDefinition_IncludesModelProperty()
+ {
+ // Create a model type with properties
+ var retryPolicyModel = InputFactory.Model(
+ "RetryPolicyConfig",
+ properties:
+ [
+ InputFactory.Property("MaxRetries", InputPrimitiveType.Int32),
+ InputFactory.Property("Delay", InputPrimitiveType.String)
+ ]);
+
+ // Reset and reload mock with the model registered
+ var singletonField = typeof(ClientOptionsProvider).GetField("_singletonInstance", BindingFlags.Static | BindingFlags.NonPublic);
+ singletonField?.SetValue(null, null);
+ MockHelpers.LoadMockGenerator(inputModels: () => [retryPolicyModel]);
+
+ InputParameter[] inputParameters =
+ [
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.String,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true),
+ InputFactory.QueryParameter(
+ "retryPolicy",
+ retryPolicyModel,
+ isRequired: false,
+ defaultValue: new InputConstant(null, retryPolicyModel),
+ scope: InputParameterScope.Client,
+ isApiVersion: false)
+ ];
+ var client = InputFactory.Client("TestService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ // Verify local definitions contain the model
+ var definitions = doc["definitions"];
+ Assert.IsNotNull(definitions, "Schema should include local definitions");
+
+ var retryPolicyDef = definitions!["retryPolicyConfig"];
+ Assert.IsNotNull(retryPolicyDef, "Definitions should include 'retryPolicyConfig' model");
+ Assert.AreEqual("object", retryPolicyDef!["type"]?.GetValue());
+
+ // Verify the model definition has its properties
+ var modelProperties = retryPolicyDef["properties"];
+ Assert.IsNotNull(modelProperties, "Model definition should have properties");
+ Assert.IsNotNull(modelProperties!["MaxRetries"], "Model should have MaxRetries property");
+ Assert.AreEqual("integer", modelProperties["MaxRetries"]!["type"]?.GetValue());
+ Assert.IsNotNull(modelProperties["Delay"], "Model should have Delay property");
+ Assert.AreEqual("string", modelProperties["Delay"]!["type"]?.GetValue());
+
+ // Verify the options definition references the model via $ref
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ var optionsRef = clientEntry?["properties"]?["Options"]?["$ref"]?.GetValue();
+ Assert.IsNotNull(optionsRef);
+ var optionsDefName = optionsRef!.Replace("#/definitions/", "");
+
+ var optionsDef = definitions[optionsDefName];
+ Assert.IsNotNull(optionsDef);
+ var allOf = optionsDef!["allOf"]!.AsArray();
+ Assert.AreEqual(2, allOf.Count, "allOf should have base options + extension");
+
+ var extensionProperties = allOf[1]?["properties"];
+ Assert.IsNotNull(extensionProperties);
+ var retryPolicyProp = extensionProperties!["RetryPolicy"];
+ Assert.IsNotNull(retryPolicyProp, "Model option property should exist");
+ Assert.AreEqual("#/definitions/retryPolicyConfig", retryPolicyProp!["$ref"]?.GetValue());
+ }
+
[Test]
public void Generate_HandlesMultipleClients()
{
From 577eac7949dffcf648988ce319be324162b36fbd Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 27 Mar 2026 18:52:35 +0000
Subject: [PATCH 17/19] Add test for model as constructor parameter in
ConfigurationSchema
Agent-Logs-Url: https://github.com/microsoft/typespec/sessions/b9941a61-2c64-4fc1-b403-d6313c2ce775
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
---
.../test/ConfigurationSchemaGeneratorTests.cs | 65 +++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index 0cc796df820..1c485447bd8 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -566,6 +566,71 @@ public void Generate_OptionsDefinition_IncludesModelProperty()
Assert.AreEqual("#/definitions/retryPolicyConfig", retryPolicyProp!["$ref"]?.GetValue());
}
+ [Test]
+ public void Generate_ConstructorParameter_IncludesModelDefinition()
+ {
+ // Create a model type with properties to use as a required constructor parameter
+ var connectionConfigModel = InputFactory.Model(
+ "ConnectionConfig",
+ properties:
+ [
+ InputFactory.Property("Host", InputPrimitiveType.String),
+ InputFactory.Property("Port", InputPrimitiveType.Int32)
+ ]);
+
+ // Reset and reload mock with the model registered
+ var singletonField = typeof(ClientOptionsProvider).GetField("_singletonInstance", BindingFlags.Static | BindingFlags.NonPublic);
+ singletonField?.SetValue(null, null);
+ MockHelpers.LoadMockGenerator(inputModels: () => [connectionConfigModel]);
+
+ InputParameter[] inputParameters =
+ [
+ InputFactory.EndpointParameter(
+ "endpoint",
+ InputPrimitiveType.String,
+ defaultValue: InputFactory.Constant.String("https://default.endpoint.io"),
+ scope: InputParameterScope.Client,
+ isEndpoint: true),
+ InputFactory.QueryParameter(
+ "connectionConfig",
+ connectionConfigModel,
+ isRequired: true,
+ scope: InputParameterScope.Client,
+ isApiVersion: false)
+ ];
+ var client = InputFactory.Client("TestService", parameters: inputParameters);
+ var clientProvider = new ClientProvider(client);
+
+ var output = new TestOutputLibrary([clientProvider]);
+ var result = ConfigurationSchemaGenerator.Generate(output);
+
+ Assert.IsNotNull(result);
+ var doc = JsonNode.Parse(result!)!;
+
+ // Verify local definitions contain the model
+ var definitions = doc["definitions"];
+ Assert.IsNotNull(definitions, "Schema should include local definitions");
+
+ var connectionConfigDef = definitions!["connectionConfig"];
+ Assert.IsNotNull(connectionConfigDef, "Definitions should include 'connectionConfig' model");
+ Assert.AreEqual("object", connectionConfigDef!["type"]?.GetValue());
+
+ // Verify the model definition has its properties
+ var modelProperties = connectionConfigDef["properties"];
+ Assert.IsNotNull(modelProperties, "Model definition should have properties");
+ Assert.IsNotNull(modelProperties!["Host"], "Model should have Host property");
+ Assert.AreEqual("string", modelProperties["Host"]!["type"]?.GetValue());
+ Assert.IsNotNull(modelProperties["Port"], "Model should have Port property");
+ Assert.AreEqual("integer", modelProperties["Port"]!["type"]?.GetValue());
+
+ // Verify the model appears as a top-level constructor parameter property (not under Options)
+ var clientEntry = doc["properties"]?["Clients"]?["properties"]?["TestService"];
+ Assert.IsNotNull(clientEntry);
+ var connectionConfigProp = clientEntry!["properties"]?["ConnectionConfig"];
+ Assert.IsNotNull(connectionConfigProp, "Constructor parameter model should appear as top-level client property");
+ Assert.AreEqual("#/definitions/connectionConfig", connectionConfigProp!["$ref"]?.GetValue());
+ }
+
[Test]
public void Generate_HandlesMultipleClients()
{
From d0fd621d8217ab5d5bd1ebbeebf2ab8dc70b6c9c Mon Sep 17 00:00:00 2001
From: jolov
Date: Fri, 27 Mar 2026 14:13:06 -0700
Subject: [PATCH 18/19] Address PR review feedback
- Use 'm is ModelProvider' instead of '!(m is EnumProvider)' for more
precise type checking in GetJsonSchemaForModel
- Add null check for Path.GetDirectoryName result in WriteAdditionalFiles
instead of using null-forgiving operator
- Add TestData golden file validation for 3 representative tests:
Generate_ReturnsSchema_ForClientWithSettings,
Generate_ConstructorParameter_IncludesModelDefinition,
Generate_HandlesMultipleClients
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.../src/ConfigurationSchemaGenerator.cs | 2 +-
.../src/ScmCodeModelGenerator.cs | 6 +-
.../test/ConfigurationSchemaGeneratorTests.cs | 18 ++++++
...ctorParameter_IncludesModelDefinition.json | 54 ++++++++++++++++++
.../Generate_HandlesMultipleClients.json | 55 +++++++++++++++++++
...e_ReturnsSchema_ForClientWithSettings.json | 36 ++++++++++++
6 files changed, 169 insertions(+), 2 deletions(-)
create mode 100644 packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ConstructorParameter_IncludesModelDefinition.json
create mode 100644 packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_HandlesMultipleClients.json
create mode 100644 packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ReturnsSchema_ForClientWithSettings.json
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index 770340d5cb6..972d17b9d09 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -320,7 +320,7 @@ private static JsonObject GetJsonSchemaForModel(CSharpType modelType, Dictionary
// Search for the model provider in the output library
var modelProvider = CodeModelGenerator.Instance.OutputLibrary.TypeProviders
.SelectMany(t => new[] { t }.Concat(t.NestedTypes))
- .FirstOrDefault(m => !(m is EnumProvider) && m.Type.Equals(modelType));
+ .FirstOrDefault(m => m is ModelProvider && m.Type.Equals(modelType));
if (modelProvider != null)
{
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmCodeModelGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmCodeModelGenerator.cs
index afeb6ea5ed9..89dfdf1a03e 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmCodeModelGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmCodeModelGenerator.cs
@@ -53,7 +53,11 @@ public override async Task WriteAdditionalFiles(string outputPath)
if (schemaContent != null)
{
var schemaPath = Path.Combine(outputPath, "schema", "ConfigurationSchema.json");
- Directory.CreateDirectory(Path.GetDirectoryName(schemaPath)!);
+ var schemaDir = Path.GetDirectoryName(schemaPath);
+ if (schemaDir != null)
+ {
+ Directory.CreateDirectory(schemaDir);
+ }
Emitter.Info($"Writing {Path.GetFullPath(schemaPath)}");
await File.WriteAllTextAsync(schemaPath, schemaContent);
}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
index 1c485447bd8..3cba27b4b63 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/ConfigurationSchemaGeneratorTests.cs
@@ -3,8 +3,10 @@
using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Reflection;
+using System.Runtime.CompilerServices;
using System.Text.Json;
using System.Text.Json.Nodes;
using Microsoft.TypeSpec.Generator.ClientModel.Providers;
@@ -28,6 +30,13 @@ public void SetUp()
MockHelpers.LoadMockGenerator();
}
+ private static string GetExpectedJsonFromFile([CallerMemberName] string method = "", [CallerFilePath] string filePath = "")
+ {
+ var callingClass = Path.GetFileName(filePath).Split('.').First();
+ var path = Path.Combine(Path.GetDirectoryName(filePath)!, "TestData", callingClass, $"{method}.json");
+ return File.ReadAllText(path);
+ }
+
[Test]
public void Generate_ReturnsNull_WhenNoClientsWithSettings()
{
@@ -61,6 +70,9 @@ public void Generate_ReturnsSchema_ForClientWithSettings()
var testClient = clients["properties"]?["TestService"];
Assert.IsNotNull(testClient, "Schema should have a well-known 'TestService' entry");
Assert.AreEqual("object", testClient!["type"]?.GetValue());
+
+ var expected = GetExpectedJsonFromFile();
+ Assert.AreEqual(expected, result);
}
[Test]
@@ -629,6 +641,9 @@ public void Generate_ConstructorParameter_IncludesModelDefinition()
var connectionConfigProp = clientEntry!["properties"]?["ConnectionConfig"];
Assert.IsNotNull(connectionConfigProp, "Constructor parameter model should appear as top-level client property");
Assert.AreEqual("#/definitions/connectionConfig", connectionConfigProp!["$ref"]?.GetValue());
+
+ var expected = GetExpectedJsonFromFile();
+ Assert.AreEqual(expected, result);
}
[Test]
@@ -648,6 +663,9 @@ public void Generate_HandlesMultipleClients()
var clientsSection = doc["properties"]?["Clients"]?["properties"];
Assert.IsNotNull(clientsSection?["ServiceA"], "Should include ServiceA");
Assert.IsNotNull(clientsSection?["ServiceB"], "Should include ServiceB");
+
+ var expected = GetExpectedJsonFromFile();
+ Assert.AreEqual(expected, result);
}
[Test]
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ConstructorParameter_IncludesModelDefinition.json b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ConstructorParameter_IncludesModelDefinition.json
new file mode 100644
index 00000000000..6e42a3b5d2f
--- /dev/null
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ConstructorParameter_IncludesModelDefinition.json
@@ -0,0 +1,54 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "TestService": {
+ "type": "object",
+ "description": "Configuration for TestService.",
+ "properties": {
+ "Endpoint": {
+ "type": "string",
+ "description": "Gets or sets the Endpoint."
+ },
+ "ConnectionConfig": {
+ "$ref": "#/definitions/connectionConfig"
+ },
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/testServiceOptions"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ },
+ "definitions": {
+ "connectionConfig": {
+ "type": "object",
+ "properties": {
+ "Host": {
+ "type": "string"
+ },
+ "Port": {
+ "type": "integer"
+ }
+ }
+ },
+ "testServiceOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_HandlesMultipleClients.json b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_HandlesMultipleClients.json
new file mode 100644
index 00000000000..8efc93ce7c8
--- /dev/null
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_HandlesMultipleClients.json
@@ -0,0 +1,55 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "ServiceA": {
+ "type": "object",
+ "description": "Configuration for ServiceA.",
+ "properties": {
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/serviceAOptions"
+ }
+ }
+ },
+ "ServiceB": {
+ "type": "object",
+ "description": "Configuration for ServiceB.",
+ "properties": {
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/serviceBOptions"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ },
+ "definitions": {
+ "serviceAOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ },
+ "serviceBOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ReturnsSchema_ForClientWithSettings.json b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ReturnsSchema_ForClientWithSettings.json
new file mode 100644
index 00000000000..d83ce57d92d
--- /dev/null
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ReturnsSchema_ForClientWithSettings.json
@@ -0,0 +1,36 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Clients": {
+ "type": "object",
+ "properties": {
+ "TestService": {
+ "type": "object",
+ "description": "Configuration for TestService.",
+ "properties": {
+ "Credential": {
+ "$ref": "#/definitions/credential"
+ },
+ "Options": {
+ "$ref": "#/definitions/testServiceOptions"
+ }
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object",
+ "description": "Configuration for a named client instance."
+ }
+ }
+ },
+ "definitions": {
+ "testServiceOptions": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/options"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
From 8b61ad86e8b7b71eefca5086b9155924da090871 Mon Sep 17 00:00:00 2001
From: jolov
Date: Fri, 27 Mar 2026 14:37:41 -0700
Subject: [PATCH 19/19] Normalize line endings and add trailing newline in
generated schema
Use ReplaceLineEndings to ensure consistent LF line endings across
platforms and append trailing newline to match prettier expectations.
Regenerated all ConfigurationSchema.json files.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.../src/ConfigurationSchemaGenerator.cs | 2 +-
.../Generate_ConstructorParameter_IncludesModelDefinition.json | 2 +-
.../Generate_HandlesMultipleClients.json | 2 +-
.../Generate_ReturnsSchema_ForClientWithSettings.json | 2 +-
.../Local/Sample-TypeSpec/schema/ConfigurationSchema.json | 2 +-
.../http/authentication/api-key/schema/ConfigurationSchema.json | 2 +-
.../authentication/http/custom/schema/ConfigurationSchema.json | 2 +-
.../http/authentication/oauth2/schema/ConfigurationSchema.json | 2 +-
.../http/authentication/union/schema/ConfigurationSchema.json | 2 +-
.../client-operation-group/schema/ConfigurationSchema.json | 2 +-
.../client/structure/default/schema/ConfigurationSchema.json | 2 +-
.../structure/multi-client/schema/ConfigurationSchema.json | 2 +-
.../structure/renamed-operation/schema/ConfigurationSchema.json | 2 +-
.../two-operation-group/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/documentation/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/encode/array/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/encode/bytes/schema/ConfigurationSchema.json | 2 +-
.../http/encode/datetime/schema/ConfigurationSchema.json | 2 +-
.../http/encode/duration/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/encode/numeric/schema/ConfigurationSchema.json | 2 +-
.../http/parameters/basic/schema/ConfigurationSchema.json | 2 +-
.../parameters/body-optionality/schema/ConfigurationSchema.json | 2 +-
.../collection-format/schema/ConfigurationSchema.json | 2 +-
.../http/parameters/path/schema/ConfigurationSchema.json | 2 +-
.../http/parameters/query/schema/ConfigurationSchema.json | 2 +-
.../http/parameters/spread/schema/ConfigurationSchema.json | 2 +-
.../payload/content-negotiation/schema/ConfigurationSchema.json | 2 +-
.../payload/json-merge-patch/schema/ConfigurationSchema.json | 2 +-
.../http/payload/media-type/schema/ConfigurationSchema.json | 2 +-
.../http/payload/multipart/schema/ConfigurationSchema.json | 2 +-
.../http/payload/pageable/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/payload/xml/schema/ConfigurationSchema.json | 2 +-
.../resiliency/srv-driven/v1/schema/ConfigurationSchema.json | 2 +-
.../resiliency/srv-driven/v2/schema/ConfigurationSchema.json | 2 +-
.../response/status-code-range/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/routes/schema/ConfigurationSchema.json | 2 +-
.../encoded-name/json/schema/ConfigurationSchema.json | 2 +-
.../server/endpoint/not-defined/schema/ConfigurationSchema.json | 2 +-
.../http/server/path/multiple/schema/ConfigurationSchema.json | 2 +-
.../http/server/path/single/schema/ConfigurationSchema.json | 2 +-
.../versions/not-versioned/schema/ConfigurationSchema.json | 2 +-
.../server/versions/versioned/schema/ConfigurationSchema.json | 2 +-
.../conditional-request/schema/ConfigurationSchema.json | 2 +-
.../repeatability/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/special-words/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/type/array/schema/ConfigurationSchema.json | 2 +-
.../http/type/dictionary/schema/ConfigurationSchema.json | 2 +-
.../http/type/enum/extensible/schema/ConfigurationSchema.json | 2 +-
.../http/type/enum/fixed/schema/ConfigurationSchema.json | 2 +-
.../http/type/model/empty/schema/ConfigurationSchema.json | 2 +-
.../enum-discriminator/schema/ConfigurationSchema.json | 2 +-
.../nested-discriminator/schema/ConfigurationSchema.json | 2 +-
.../not-discriminated/schema/ConfigurationSchema.json | 2 +-
.../model/inheritance/recursive/schema/ConfigurationSchema.json | 2 +-
.../single-discriminator/schema/ConfigurationSchema.json | 2 +-
.../http/type/model/usage/schema/ConfigurationSchema.json | 2 +-
.../http/type/model/visibility/schema/ConfigurationSchema.json | 2 +-
.../additional-properties/schema/ConfigurationSchema.json | 2 +-
.../http/type/property/nullable/schema/ConfigurationSchema.json | 2 +-
.../type/property/optionality/schema/ConfigurationSchema.json | 2 +-
.../type/property/value-types/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/type/scalar/schema/ConfigurationSchema.json | 2 +-
.../Spector/http/type/union/schema/ConfigurationSchema.json | 2 +-
.../http/versioning/added/v1/schema/ConfigurationSchema.json | 2 +-
.../http/versioning/added/v2/schema/ConfigurationSchema.json | 2 +-
.../versioning/madeOptional/v1/schema/ConfigurationSchema.json | 2 +-
.../versioning/madeOptional/v2/schema/ConfigurationSchema.json | 2 +-
.../http/versioning/removed/v1/schema/ConfigurationSchema.json | 2 +-
.../http/versioning/removed/v2/schema/ConfigurationSchema.json | 2 +-
.../removed/v2Preview/schema/ConfigurationSchema.json | 2 +-
.../versioning/renamedFrom/v1/schema/ConfigurationSchema.json | 2 +-
.../versioning/renamedFrom/v2/schema/ConfigurationSchema.json | 2 +-
.../returnTypeChangedFrom/v1/schema/ConfigurationSchema.json | 2 +-
.../returnTypeChangedFrom/v2/schema/ConfigurationSchema.json | 2 +-
.../typeChangedFrom/v1/schema/ConfigurationSchema.json | 2 +-
.../typeChangedFrom/v2/schema/ConfigurationSchema.json | 2 +-
76 files changed, 76 insertions(+), 76 deletions(-)
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
index 972d17b9d09..99b581fe6d2 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ConfigurationSchemaGenerator.cs
@@ -47,7 +47,7 @@ internal static class ConfigurationSchemaGenerator
}
var schema = BuildSchema(clientsWithSettings, sectionName, optionsRef);
- return JsonSerializer.Serialize(schema, s_jsonOptions);
+ return JsonSerializer.Serialize(schema, s_jsonOptions).ReplaceLineEndings("\n") + "\n";
}
private static JsonObject BuildSchema(
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ConstructorParameter_IncludesModelDefinition.json b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ConstructorParameter_IncludesModelDefinition.json
index 6e42a3b5d2f..ee992634728 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ConstructorParameter_IncludesModelDefinition.json
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ConstructorParameter_IncludesModelDefinition.json
@@ -51,4 +51,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_HandlesMultipleClients.json b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_HandlesMultipleClients.json
index 8efc93ce7c8..b3c782f6645 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_HandlesMultipleClients.json
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_HandlesMultipleClients.json
@@ -52,4 +52,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ReturnsSchema_ForClientWithSettings.json b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ReturnsSchema_ForClientWithSettings.json
index d83ce57d92d..d579da072a4 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ReturnsSchema_ForClientWithSettings.json
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/TestData/ConfigurationSchemaGeneratorTests/Generate_ReturnsSchema_ForClientWithSettings.json
@@ -33,4 +33,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
index 97babdc9b9c..bc29b86e3a4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/schema/ConfigurationSchema.json
@@ -78,4 +78,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
index 6a44e9b4a7a..37b4fa51a24 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
index 70ed0cf889c..f4c9617ea23 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
index c97646c5bce..59219d51321 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
index 82aa60ed786..7a0faa5b319 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
index 481abdf98c7..83d725695ff 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/schema/ConfigurationSchema.json
@@ -77,4 +77,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
index c6643c7eb8d..be6a13f54e2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/schema/ConfigurationSchema.json
@@ -50,4 +50,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
index 61a595c149a..7acfb2b9b60 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/schema/ConfigurationSchema.json
@@ -77,4 +77,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
index 355bfc3c4fa..8ead5b65f21 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/schema/ConfigurationSchema.json
@@ -50,4 +50,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
index 41d7d3e81cd..bf7ec3b7d69 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/schema/ConfigurationSchema.json
@@ -50,4 +50,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
index 51223cde88a..90714bfbfab 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
index 7d90eecb19b..72dff95a876 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
index 116574aabc1..2d04b8428a5 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
index e8e5ce6836b..29980d6598e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
index 26f5f661711..b85d9776ede 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
index 400f61e371d..d08206d9334 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
index 004494271b8..e8788897ec0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
index e5ca12ee704..0ee1f7fae53 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
index 5584016c0d8..26b778a43e0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
index 87e9a3e305d..5fbae3a7742 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
index 568a7d68686..937db2228be 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
index 0c44958362f..ed5a51f2527 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
index d6057a57085..ad470e50c4f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
index edf62f53d9b..53ba08e2b5a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
index 07a8ff2444b..876feaa09c6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
index 6533df88e4a..8651edd2e13 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
index 7ddb051a30c..e456e7a9406 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
index f91ec19f113..bca382d92f7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
index 69bb4a4f8bc..23122ac2d72 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/schema/ConfigurationSchema.json
@@ -41,4 +41,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
index 69bb4a4f8bc..23122ac2d72 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/schema/ConfigurationSchema.json
@@ -41,4 +41,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
index f0ca16b3bba..a0fada94e23 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
index 055fca8e9cf..ea5d97352d1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
index 0743664ab47..315f9a258ad 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
index 86525bef08f..e25aa2955fb 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
index 7968387606d..06e40a208f6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
index 74688a3e225..ab4fa243bd0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
index 5b4dd2338ce..405fadedd28 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
index e91c0f22531..bc53de5ef84 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
index 1573b64dc5e..a12672e3e81 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
index 61b1f8d839f..6fd7c6d0ab0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
index ca0e14bc956..0cf8a38a663 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
index 7d90eecb19b..72dff95a876 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
index 6fb4384364d..84f4fa17474 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
index 229fa42435b..3ba566e6b63 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
index 6f0f42a6a70..4b97bbfa581 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
index 769e40d64e1..1c20a7e0fb6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
index bcd4e454c33..ad77d0a85f1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
index ef8fe8a59af..dcf75e99dd9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
index 73328c87d13..6a0a8bb7128 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
index 4d6429b1c7f..14aec039364 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
index 53fae056e4a..a5c58e83a36 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
index a7a9edb2635..22b21c1ed09 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
index b43f909b288..f9461c9c735 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
index 0d92498c0c0..aadffeda192 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
index 25c28d63cf7..733407ff801 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
index b70cea11e99..5f0a8b87cbd 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
index 8a31f6dde9a..df7e3ab06df 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
index 98f3588af98..e430479ecc6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
index 82aa60ed786..7a0faa5b319 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
index db68b65d306..86e4835b095 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
index db68b65d306..86e4835b095 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
index 13e7c4de494..69ef03580f4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
index 13e7c4de494..69ef03580f4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
index 545a27132d0..e8719df179a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
index 545a27132d0..e8719df179a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
index 545a27132d0..e8719df179a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
index 783476286f8..1a0b56eec4e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
index 783476286f8..1a0b56eec4e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
index c1bfe1c4c25..fdbaa95dfb9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
index c1bfe1c4c25..fdbaa95dfb9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
index 5b9d8220f5a..d3cf32f8da1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
index 5b9d8220f5a..d3cf32f8da1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/schema/ConfigurationSchema.json
@@ -38,4 +38,4 @@
]
}
}
-}
\ No newline at end of file
+}