diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Microsoft.TypeSpec.Generator.ClientModel.csproj b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Microsoft.TypeSpec.Generator.ClientModel.csproj
index a14cd844c1c..3179721bdfb 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Microsoft.TypeSpec.Generator.ClientModel.csproj
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Microsoft.TypeSpec.Generator.ClientModel.csproj
@@ -9,6 +9,7 @@
+
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 7001641f55e..1e1d16c20e6 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
@@ -11,6 +11,7 @@
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.Utilities;
using static Microsoft.TypeSpec.Generator.Snippets.Snippet;
@@ -230,9 +231,15 @@ protected override TypeProvider[] BuildNestedTypes()
protected override ConstructorProvider[] BuildConstructors()
{
+ var configSectionCtor = BuildConfigurationSectionConstructor();
+
if (LatestVersionsFields is null)
{
- return [];
+ var defaultCtor = new ConstructorProvider(
+ new ConstructorSignature(Type, $"Initializes a new instance of {_clientProvider.Name}Options.", MethodSignatureModifiers.Public, []),
+ MethodBodyStatement.Empty,
+ this);
+ return [defaultCtor, configSectionCtor];
}
var constructorBody = new List();
@@ -281,7 +288,72 @@ protected override ConstructorProvider[] BuildConstructors()
new ConstructorSignature(Type, $"Initializes a new instance of {_clientProvider.Name}Options.", MethodSignatureModifiers.Public, constructorParameters),
constructorBody,
this);
- return [constructor];
+ return [constructor, configSectionCtor];
+ }
+
+ private ConstructorProvider BuildConfigurationSectionConstructor()
+ {
+ var sectionParam = new ParameterProvider(
+ "section",
+ $"The configuration section.",
+ ClientSettingsProvider.IConfigurationSectionType);
+
+ var experimentalAttr = new AttributeStatement(
+ typeof(System.Diagnostics.CodeAnalysis.ExperimentalAttribute),
+ [Literal(ClientSettingsProvider.ClientSettingsDiagnosticId)]);
+
+ // Set version to latest version before the guard so it is always initialized
+ var body = new List();
+ if (LatestVersionsFields != null && VersionProperties != null)
+ {
+ foreach (var (_, serviceVersionEnum) in LatestVersionsFields)
+ {
+ if (VersionProperties.TryGetValue(serviceVersionEnum, out var versionProperty))
+ {
+ var latestVersion = serviceVersionEnum.EnumValues[^1];
+ body.Add(versionProperty.Assign(Literal(latestVersion.Value)).Terminate());
+ }
+ }
+ }
+
+ // if (section is null || !section.Exists()) { return; }
+ var guardCondition = sectionParam.Is(Null).Or(Not(sectionParam.Invoke("Exists")));
+ var guardStatement = new IfStatement(guardCondition);
+ guardStatement.Add(Return());
+
+ body.Add(guardStatement);
+
+ // Build a set of version property names for O(1) lookup
+ var versionPropertyNames = VersionProperties?.Values.Select(vp => vp.Name).ToHashSet();
+
+ // Bind non-version properties from configuration
+ foreach (var property in Properties)
+ {
+ if (versionPropertyNames?.Contains(property.Name) == true)
+ {
+ continue;
+ }
+
+ // string? propValue = section["PropertyName"];
+ var propValueVar = new VariableExpression(new CSharpType(typeof(string), isNullable: true), $"{property.Name.ToVariableName()}FromConfig");
+ body.Add(Declare(propValueVar, new IndexerExpression(sectionParam, Literal(property.Name))));
+
+ // if (!string.IsNullOrEmpty(propValue)) { Property = propValue; }
+ var ifProp = new IfStatement(Not(Static(typeof(string)).Invoke("IsNullOrEmpty", propValueVar)));
+ ifProp.Add(This.Property(property.Name).Assign(propValueVar).Terminate());
+ body.Add(ifProp);
+ }
+
+ return new ConstructorProvider(
+ new ConstructorSignature(
+ Type,
+ $"Initializes a new instance of {_clientProvider.Name}Options from configuration.",
+ MethodSignatureModifiers.Internal,
+ [sectionParam],
+ attributes: [experimentalAttr],
+ initializer: new ConstructorInitializer(true, [sectionParam])),
+ new MethodBodyStatements([.. body]),
+ this);
}
protected override PropertyProvider[] BuildProperties()
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientProvider.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientProvider.cs
index 606a888af4c..234882ccf76 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientProvider.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientProvider.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Threading;
@@ -102,6 +103,7 @@ public ClientProvider(InputClient inputClient)
_publicCtorDescription = $"Initializes a new instance of {Name}.";
ClientOptions = _inputClient.Parent is null ? ClientOptionsProvider.CreateClientOptionsProvider(_inputClient, this) : null;
ClientOptionsParameter = ClientOptions != null ? ScmKnownParameters.ClientOptions(ClientOptions.Type) : null;
+ ClientSettings = ClientOptions != null ? new ClientSettingsProvider(_inputClient, this) : null;
IsMultiServiceClient = _inputClient.IsMultiServiceClient;
var apiKey = _inputAuth?.ApiKey;
@@ -362,6 +364,7 @@ private IReadOnlyList GetClientParameters()
///
public RestClientProvider RestClient => _restClient ??= new RestClientProvider(_inputClient, this);
public ClientOptionsProvider? ClientOptions { get; }
+ public ClientSettingsProvider? ClientSettings { get; }
public PropertyProvider PipelineProperty { get; }
public FieldProvider EndpointField { get; }
@@ -570,9 +573,11 @@ protected override ConstructorProvider[] BuildConstructors()
var shouldIncludeMockingConstructor = !onlyContainsUnsupportedAuth && secondaryConstructors.All(c => c.Signature.Parameters.Count > 0);
+ var settingsConstructors = BuildSettingsConstructors();
+
return shouldIncludeMockingConstructor
- ? [ConstructorProviderHelper.BuildMockingConstructor(this), .. secondaryConstructors, .. primaryConstructors]
- : [.. secondaryConstructors, .. primaryConstructors];
+ ? [ConstructorProviderHelper.BuildMockingConstructor(this), .. secondaryConstructors, .. primaryConstructors, .. settingsConstructors]
+ : [.. secondaryConstructors, .. primaryConstructors, .. settingsConstructors];
void AppendConstructors(
AuthFields? authFields,
@@ -612,6 +617,68 @@ void AppendConstructors(
}
}
+ private IEnumerable BuildSettingsConstructors()
+ {
+ if (ClientSettings == null || ClientSettings.EndpointPropertyName == null)
+ {
+ yield break;
+ }
+
+ var settingsParam = new ParameterProvider("settings", $"The settings for {Name}.", ClientSettings.Type);
+ var experimentalAttr = new AttributeStatement(typeof(ExperimentalAttribute), [Literal(ClientSettingsProvider.ClientSettingsDiagnosticId)]);
+
+ // Build the arguments for the this(...) initializer to call primary constructor
+ var args = new List();
+
+ // endpoint argument - we know EndpointPropertyName is not null at this point
+ args.Add(new MemberExpression(new NullConditionalExpression(settingsParam), ClientSettings.EndpointPropertyName));
+
+ // other required parameters (non-auth, non-endpoint) in primary constructor order
+ foreach (var param in ClientSettings.OtherRequiredParams)
+ {
+ var propName = param.Name.ToIdentifierName();
+ var propAccess = new MemberExpression(new NullConditionalExpression(settingsParam), propName);
+ // Value types (enums, primitives) need ?? default since null-conditional returns T?
+ ValueExpression arg = param.Type.IsValueType
+ ? new BinaryOperatorExpression("??", propAccess, new KeywordExpression("default", null))
+ : propAccess;
+ args.Add(arg);
+ }
+
+ // credential argument
+ if (_oauth2Fields != null)
+ {
+ var credentialExpr = new MemberExpression(new NullConditionalExpression(settingsParam), "CredentialProvider");
+ args.Add(new AsExpression(credentialExpr, _oauth2Fields.AuthField.Type));
+ }
+ else if (_apiKeyAuthFields != null)
+ {
+ // settings?.Credential?.Key != null ? new ApiKeyCredential(settings?.Credential?.Key) : null
+ var credentialExpr = new MemberExpression(new NullConditionalExpression(settingsParam), "Credential");
+ var keyExpr = new MemberExpression(new NullConditionalExpression(credentialExpr), "Key");
+ var keyNotNull = new BinaryOperatorExpression("!=", keyExpr, Null);
+ var newApiKeyCredExpr = New.Instance(_apiKeyAuthFields.AuthField.Type,
+ new MemberExpression(new NullConditionalExpression(new MemberExpression(new NullConditionalExpression(settingsParam), "Credential")), "Key"));
+ args.Add(new TernaryConditionalExpression(keyNotNull, newApiKeyCredExpr, Null));
+ }
+
+ // options argument
+ args.Add(new MemberExpression(new NullConditionalExpression(settingsParam), "Options"));
+
+ var settingsConstructor = new ConstructorProvider(
+ new ConstructorSignature(
+ Type,
+ $"Initializes a new instance of {Name} from settings.",
+ MethodSignatureModifiers.Public,
+ [settingsParam],
+ attributes: [experimentalAttr],
+ initializer: new ConstructorInitializer(false, args)),
+ MethodBodyStatement.Empty,
+ this);
+
+ yield return settingsConstructor;
+ }
+
private void AppendSubClientPublicConstructors(List constructors)
{
// For sub-clients that can be initialized individually, we need to create public constructors
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientSettingsProvider.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientSettingsProvider.cs
new file mode 100644
index 00000000000..8af94ae65e0
--- /dev/null
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ClientSettingsProvider.cs
@@ -0,0 +1,170 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System;
+using System.ClientModel.Primitives;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.IO;
+using System.Linq;
+using Microsoft.Extensions.Configuration;
+using Microsoft.TypeSpec.Generator.Expressions;
+using Microsoft.TypeSpec.Generator.Input;
+using Microsoft.TypeSpec.Generator.Input.Extensions;
+using Microsoft.TypeSpec.Generator.Primitives;
+using Microsoft.TypeSpec.Generator.Providers;
+using Microsoft.TypeSpec.Generator.Statements;
+using static Microsoft.TypeSpec.Generator.Snippets.Snippet;
+
+namespace Microsoft.TypeSpec.Generator.ClientModel.Providers
+{
+ public class ClientSettingsProvider : TypeProvider
+ {
+ internal const string ClientSettingsDiagnosticId = "SCME0002";
+
+ private readonly ClientProvider _clientProvider;
+ private readonly InputEndpointParameter? _inputEndpointParam;
+ private readonly IReadOnlyList _otherRequiredParams;
+
+#pragma warning disable SCME0002 // ClientSettings is for evaluation purposes only
+ internal static readonly CSharpType ClientSettingsType = typeof(ClientSettings);
+#pragma warning restore SCME0002
+
+ internal static readonly CSharpType IConfigurationSectionType = typeof(IConfigurationSection);
+
+ internal ClientSettingsProvider(InputClient inputClient, ClientProvider clientProvider)
+ {
+ _clientProvider = clientProvider;
+ _inputEndpointParam = inputClient.Parameters
+ .FirstOrDefault(p => p is InputEndpointParameter ep && ep.IsEndpoint) as InputEndpointParameter;
+
+ // Collect non-endpoint, non-apiVersion required parameters (auth params come separately via InputClient.Auth)
+ _otherRequiredParams = inputClient.Parameters
+ .Where(p => p.IsRequired && !p.IsApiVersion &&
+ !(p is InputEndpointParameter ep && ep.IsEndpoint))
+ .Select(p => ScmCodeModelGenerator.Instance.TypeFactory.CreateParameter(p))
+ .Where(p => p != null)
+ .Select(p => p!)
+ .ToList();
+ }
+
+ internal string? EndpointPropertyName => _inputEndpointParam?.Name.ToIdentifierName();
+
+ /// Gets non-endpoint, non-auth required parameters that have settings properties.
+ internal IReadOnlyList OtherRequiredParams => _otherRequiredParams;
+
+ protected override string BuildRelativeFilePath() => Path.Combine("src", "Generated", $"{Name}.cs");
+
+ protected override string BuildName() => $"{_clientProvider.Name}Settings";
+
+ protected override string BuildNamespace() => _clientProvider.Type.Namespace;
+
+ protected override CSharpType BuildBaseType() => ClientSettingsType;
+
+ protected override IReadOnlyList BuildAttributes()
+ {
+ return [new AttributeStatement(typeof(ExperimentalAttribute), Literal(ClientSettingsDiagnosticId))];
+ }
+
+ protected override PropertyProvider[] BuildProperties()
+ {
+ var properties = new List();
+
+ if (_inputEndpointParam != null)
+ {
+ properties.Add(new PropertyProvider(
+ null,
+ MethodSignatureModifiers.Public,
+ new CSharpType(typeof(Uri), isNullable: true),
+ EndpointPropertyName!,
+ new AutoPropertyBody(true),
+ this));
+ }
+
+ foreach (var param in _otherRequiredParams)
+ {
+ properties.Add(new PropertyProvider(
+ null,
+ MethodSignatureModifiers.Public,
+ param.Type.WithNullable(true),
+ param.Name.ToIdentifierName(),
+ new AutoPropertyBody(true),
+ this));
+ }
+
+ if (_clientProvider.ClientOptions != null)
+ {
+ properties.Add(new PropertyProvider(
+ null,
+ MethodSignatureModifiers.Public,
+ _clientProvider.ClientOptions.Type.WithNullable(true),
+ "Options",
+ new AutoPropertyBody(true),
+ this));
+ }
+
+ return [.. properties];
+ }
+
+ protected override MethodProvider[] BuildMethods()
+ {
+ var sectionParam = new ParameterProvider("section", $"The configuration section.", IConfigurationSectionType);
+ var body = new List();
+
+ if (_inputEndpointParam != null)
+ {
+ var endpointPropertyName = EndpointPropertyName!;
+
+ // string? endpoint = section["EndpointPropertyName"];
+ var endpointVar = new VariableExpression(new CSharpType(typeof(string), isNullable: true), "endpoint");
+ body.Add(Declare(endpointVar, new IndexerExpression(sectionParam, Literal(endpointPropertyName))));
+
+ // if (!string.IsNullOrEmpty(endpoint)) { EndpointProperty = new Uri(endpoint); }
+ var ifStatement = new IfStatement(Not(Static(typeof(string)).Invoke("IsNullOrEmpty", endpointVar)));
+ ifStatement.Add(This.Property(endpointPropertyName).Assign(New.Instance(typeof(Uri), endpointVar)).Terminate());
+ body.Add(ifStatement);
+ }
+
+ foreach (var param in _otherRequiredParams)
+ {
+ var propName = param.Name.ToIdentifierName();
+ // For string types: if (section[propName] is string val) PropName = val;
+ if (param.Type.IsFrameworkType && param.Type.FrameworkType == typeof(string))
+ {
+ var valVar = new VariableExpression(new CSharpType(typeof(string), isNullable: true), param.Name.ToVariableName());
+ body.Add(Declare(valVar, new IndexerExpression(sectionParam, Literal(propName))));
+ var ifStatement = new IfStatement(Not(Static(typeof(string)).Invoke("IsNullOrEmpty", valVar)));
+ ifStatement.Add(This.Property(propName).Assign(valVar).Terminate());
+ body.Add(ifStatement);
+ }
+ // Other types are skipped in BindCore (users can customize via partial class)
+ }
+
+ if (_clientProvider.ClientOptions != null)
+ {
+ // IConfigurationSection optionsSection = section.GetSection("Options");
+ var optionsSectionVar = new VariableExpression(IConfigurationSectionType, "optionsSection");
+ body.Add(Declare(optionsSectionVar, sectionParam.Invoke("GetSection", Literal("Options"))));
+
+ // if (optionsSection.Exists()) { Options = new ClientOptions(optionsSection); }
+ var ifOptionsStatement = new IfStatement(optionsSectionVar.Invoke("Exists"));
+ ifOptionsStatement.Add(This.Property("Options").Assign(
+ New.Instance(_clientProvider.ClientOptions.Type, optionsSectionVar)).Terminate());
+ body.Add(ifOptionsStatement);
+ }
+
+ var bindCoreMethod = new MethodProvider(
+ new MethodSignature(
+ "BindCore",
+ $"Binds configuration values from the given section.",
+ MethodSignatureModifiers.Protected | MethodSignatureModifiers.Override,
+ null,
+ null,
+ [sectionParam]),
+ new MethodBodyStatements([.. body]),
+ this);
+
+ return [bindCoreMethod];
+ }
+ }
+}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmOutputLibrary.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmOutputLibrary.cs
index 432561572ba..fc1d9cd87df 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmOutputLibrary.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/ScmOutputLibrary.cs
@@ -41,6 +41,11 @@ private static void BuildClient(InputClient inputClient, HashSet t
if (clientOptions != null)
{
types.Add(clientOptions);
+ var clientSettings = client.ClientSettings;
+ if (clientSettings != null)
+ {
+ types.Add(clientSettings);
+ }
}
// We use the spec view methods so that we include collection definitions even if the user is customizing or suppressing
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientOptionsProviderTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientOptionsProviderTests.cs
index 5f5abcd8410..6c62aa632b7 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientOptionsProviderTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientOptionsProviderTests.cs
@@ -137,21 +137,27 @@ public void TestConstructors(bool containsApiVersions)
Assert.IsNotNull(clientOptionsProvider);
var ctors = clientOptionsProvider.Constructors;
+ // IConfigurationSection constructor is always generated
+ var configSectionCtor = ctors.FirstOrDefault(c => c.Signature.Parameters.Any(p => p.Name == "section"));
+ Assert.IsNotNull(configSectionCtor, "IConfigurationSection constructor should always be generated");
+
if (containsApiVersions)
{
- Assert.AreEqual(1, ctors.Count);
- var ctor = ctors[0];
- var signature = ctor.Signature;
+ Assert.AreEqual(2, ctors.Count);
+ var versionCtor = ctors.First(c => c.Signature.Parameters.Any(p => p.Name == "version"));
+ var signature = versionCtor.Signature;
Assert.AreEqual(1, signature.Parameters.Count);
var versionParam = signature.Parameters[0];
Assert.AreEqual("version", versionParam.Name);
Assert.AreEqual(clientOptionsProvider.NestedTypes[0].Type, versionParam.Type);
Assert.IsNotNull(versionParam.DefaultValue);
- Assert.IsNotNull(ctor.BodyStatements);
+ Assert.IsNotNull(versionCtor.BodyStatements);
}
else
{
- Assert.AreEqual(0, ctors.Count);
+ Assert.AreEqual(2, ctors.Count);
+ var defaultCtor = ctors.First(c => !c.Signature.Parameters.Any());
+ Assert.IsNotNull(defaultCtor, "Default parameterless constructor should be generated");
}
}
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderTests.cs
index 9d1a8bbacdf..3f5bf0e4a88 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderTests.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderTests.cs
@@ -407,7 +407,9 @@ public void TestBuildConstructors_SecondaryConstructor(List inpu
var primaryPublicConstructors = constructors.Where(
c => c.Signature?.Initializer == null && c.Signature?.Modifiers == MethodSignatureModifiers.Public).ToArray();
var secondaryPublicConstructors = constructors.Where(
- c => c.Signature?.Initializer != null && c.Signature?.Modifiers == MethodSignatureModifiers.Public).ToArray();
+ c => c.Signature?.Initializer != null &&
+ c.Signature?.Modifiers == MethodSignatureModifiers.Public &&
+ !IsSettingsConstructor(c)).ToArray();
// Check if endpoint has a default value
var endpointParam = inputParameters.FirstOrDefault(p => p is InputEndpointParameter ep && ep.IsEndpoint);
@@ -543,15 +545,21 @@ public void TestBuildConstructors_SimplifiedWithOptions_WhenDefaultEndpoint()
var constructors = clientProvider.Constructors;
- // Get all public constructors with an initializer (secondary constructors)
+ // Get all public constructors with an initializer (secondary constructors), excluding settings constructor
var secondaryPublicConstructors = constructors.Where(
- c => c.Signature?.Initializer != null && c.Signature?.Modifiers == MethodSignatureModifiers.Public).ToList();
+ c => c.Signature?.Initializer != null &&
+ c.Signature?.Modifiers == MethodSignatureModifiers.Public &&
+ !IsSettingsConstructor(c)).ToList();
// We should have 2 secondary constructors per auth type:
// 1. Client(credential) - simple with just auth
// 2. Client(credential, options) - simplified with auth + options
Assert.AreEqual(2, secondaryPublicConstructors.Count);
+ // Verify the settings constructor also exists
+ var settingsConstructor = constructors.FirstOrDefault(IsSettingsConstructor);
+ Assert.IsNotNull(settingsConstructor, "Expected a settings constructor");
+
// Verify the simple constructor exists (just auth)
var simpleConstructor = secondaryPublicConstructors.FirstOrDefault(c => c.Signature.Parameters.Count == 1);
Assert.IsNotNull(simpleConstructor, "Expected a simple constructor with just auth parameter");
@@ -1020,6 +1028,11 @@ private void ValidateSecondaryConstructor(
Assert.IsTrue(primaryConstructors.Any(pc => pc.Signature.Parameters.Count == initializer?.Arguments.Count));
}
+ private static bool IsSettingsConstructor(ConstructorProvider c) =>
+ c.Signature?.Initializer != null &&
+ c.Signature?.Modifiers == MethodSignatureModifiers.Public &&
+ c.Signature.Parameters.Any(p => p.Name == "settings");
+
[TestCaseSource(nameof(EndpointParamInitializationValueTestCases))]
public void EndpointInitializationValue(InputParameter endpointParameter, ValueExpression? expectedValue)
{
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceClient_GeneratesExpectedClientOptions.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceClient_GeneratesExpectedClientOptions.cs
index f3f3227ef90..793a7a38ff5 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceClient_GeneratesExpectedClientOptions.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceClient_GeneratesExpectedClientOptions.cs
@@ -4,6 +4,8 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Sample
{
@@ -28,6 +30,17 @@ public TestClientOptions(global::Sample.TestClientOptions.ServiceAVersion servic
};
}
+ [global::System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SCME0002")]
+ internal TestClientOptions(global::Microsoft.Extensions.Configuration.IConfigurationSection section) : base(section)
+ {
+ ServiceAApiVersion = "2.0";
+ ServiceBApiVersion = "4.0";
+ if (((section is null) || !section.Exists()))
+ {
+ return;
+ }
+ }
+
internal string ServiceAApiVersion { get; }
internal string ServiceBApiVersion { get; }
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceClient_WithThreeServices_GeneratesExpectedClientOptions.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceClient_WithThreeServices_GeneratesExpectedClientOptions.cs
index d7c4856dae2..ea82828c46b 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceClient_WithThreeServices_GeneratesExpectedClientOptions.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceClient_WithThreeServices_GeneratesExpectedClientOptions.cs
@@ -4,6 +4,8 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Sample
{
@@ -36,6 +38,18 @@ public TestClientOptions(global::Sample.TestClientOptions.ServiceKeyVaultVersion
};
}
+ [global::System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SCME0002")]
+ internal TestClientOptions(global::Microsoft.Extensions.Configuration.IConfigurationSection section) : base(section)
+ {
+ ServiceKeyVaultApiVersion = "7.5";
+ ServiceStorageApiVersion = "2024-01-01";
+ ServiceComputeApiVersion = "2024-07-01";
+ if (((section is null) || !section.Exists()))
+ {
+ return;
+ }
+ }
+
internal string ServiceComputeApiVersion { get; }
internal string ServiceKeyVaultApiVersion { get; }
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceCombinedClient_GeneratesExpectedClientOptions.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceCombinedClient_GeneratesExpectedClientOptions.cs
index f3f3227ef90..793a7a38ff5 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceCombinedClient_GeneratesExpectedClientOptions.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceCombinedClient_GeneratesExpectedClientOptions.cs
@@ -4,6 +4,8 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Sample
{
@@ -28,6 +30,17 @@ public TestClientOptions(global::Sample.TestClientOptions.ServiceAVersion servic
};
}
+ [global::System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SCME0002")]
+ internal TestClientOptions(global::Microsoft.Extensions.Configuration.IConfigurationSection section) : base(section)
+ {
+ ServiceAApiVersion = "2.0";
+ ServiceBApiVersion = "4.0";
+ if (((section is null) || !section.Exists()))
+ {
+ return;
+ }
+ }
+
internal string ServiceAApiVersion { get; }
internal string ServiceBApiVersion { get; }
diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceCombinedClient_WithThreeServices_GeneratesExpectedClientOptions.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceCombinedClient_WithThreeServices_GeneratesExpectedClientOptions.cs
index d7c4856dae2..ea82828c46b 100644
--- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceCombinedClient_WithThreeServices_GeneratesExpectedClientOptions.cs
+++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ClientOptionsProviderTests/MultiServiceCombinedClient_WithThreeServices_GeneratesExpectedClientOptions.cs
@@ -4,6 +4,8 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Sample
{
@@ -36,6 +38,18 @@ public TestClientOptions(global::Sample.TestClientOptions.ServiceKeyVaultVersion
};
}
+ [global::System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SCME0002")]
+ internal TestClientOptions(global::Microsoft.Extensions.Configuration.IConfigurationSection section) : base(section)
+ {
+ ServiceKeyVaultApiVersion = "7.5";
+ ServiceStorageApiVersion = "2024-01-01";
+ ServiceComputeApiVersion = "2024-07-01";
+ if (((section is null) || !section.Exists()))
+ {
+ return;
+ }
+ }
+
internal string ServiceComputeApiVersion { get; }
internal string ServiceKeyVaultApiVersion { get; }
diff --git a/packages/http-client-csharp/generator/Packages.Data.props b/packages/http-client-csharp/generator/Packages.Data.props
index 3a46d074dfa..332a7ad5ab8 100644
--- a/packages/http-client-csharp/generator/Packages.Data.props
+++ b/packages/http-client-csharp/generator/Packages.Data.props
@@ -15,6 +15,7 @@
+
diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClient.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClient.cs
index f2e56c36cb0..77b6c2cc6b4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClient.cs
@@ -9,6 +9,7 @@
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@@ -91,6 +92,13 @@ public SampleTypeSpecClient(Uri endpoint, AuthenticationTokenProvider tokenProvi
_apiVersion = options.Version;
}
+ /// Initializes a new instance of SampleTypeSpecClient from settings.
+ /// The settings for SampleTypeSpecClient.
+ [Experimental("SCME0002")]
+ public SampleTypeSpecClient(SampleTypeSpecClientSettings settings) : this(settings?.SampleTypeSpecUrl, settings?.CredentialProvider as AuthenticationTokenProvider, settings?.Options)
+ {
+ }
+
/// The HTTP pipeline for sending and receiving REST requests and responses.
public ClientPipeline Pipeline { get; }
diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClientOptions.cs
index 43baf1ff90f..f697b689145 100644
--- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClientOptions.cs
@@ -7,6 +7,8 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace SampleTypeSpec
{
@@ -27,6 +29,18 @@ public SampleTypeSpecClientOptions(ServiceVersion version = LatestVersion)
};
}
+ /// Initializes a new instance of SampleTypeSpecClientOptions from configuration.
+ /// The configuration section.
+ [Experimental("SCME0002")]
+ internal SampleTypeSpecClientOptions(IConfigurationSection section) : base(section)
+ {
+ Version = "2024-08-16-preview";
+ if (section is null || !section.Exists())
+ {
+ return;
+ }
+ }
+
/// Gets the Version.
internal string Version { get; }
diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClientSettings.cs
new file mode 100644
index 00000000000..88e8f35c29e
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/SampleTypeSpecClientSettings.cs
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace SampleTypeSpec
+{
+ ///
+ [Experimental("SCME0002")]
+ public partial class SampleTypeSpecClientSettings : ClientSettings
+ {
+ /// Gets or sets the SampleTypeSpecUrl.
+ public Uri SampleTypeSpecUrl { get; set; }
+
+ /// Gets or sets the Options.
+ public SampleTypeSpecClientOptions Options { get; set; }
+
+ /// Binds configuration values from the given section.
+ /// The configuration section.
+ protected override void BindCore(IConfigurationSection section)
+ {
+ string endpoint = section["SampleTypeSpecUrl"];
+ if (!string.IsNullOrEmpty(endpoint))
+ {
+ SampleTypeSpecUrl = new Uri(endpoint);
+ }
+ IConfigurationSection optionsSection = section.GetSection("Options");
+ if (optionsSection.Exists())
+ {
+ Options = new SampleTypeSpecClientOptions(optionsSection);
+ }
+ }
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClient.cs
index 4cc79b324ba..84aaa989763 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -20,6 +21,9 @@ public partial class ApiKeyClient
public ApiKeyClient(Uri endpoint, ApiKeyCredential credential, ApiKeyClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ApiKeyClient(ApiKeyClientSettings settings) : this(settings?.Endpoint, settings?.Credential?.Key != null ? new ApiKeyCredential(settings?.Credential?.Key) : null, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Valid(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClientOptions.cs
index 898f3926f96..7f1d0ec3a4c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Authentication.ApiKey
{
public partial class ApiKeyClientOptions : ClientPipelineOptions
{
+ public ApiKeyClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ApiKeyClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClientSettings.cs
new file mode 100644
index 00000000000..54fd6f05531
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/src/Generated/ApiKeyClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Authentication.ApiKey
+{
+ [Experimental("SCME0002")]
+ public partial class ApiKeyClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ApiKeyClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClient.cs
index 1bae28cfe95..63a41cdd265 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -20,6 +21,9 @@ public partial class CustomClient
public CustomClient(Uri endpoint, ApiKeyCredential credential, CustomClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public CustomClient(CustomClientSettings settings) : this(settings?.Endpoint, settings?.Credential?.Key != null ? new ApiKeyCredential(settings?.Credential?.Key) : null, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Valid(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClientOptions.cs
index bd234ac920d..ae206c5cecf 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Authentication.Http.Custom
{
public partial class CustomClientOptions : ClientPipelineOptions
{
+ public CustomClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal CustomClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClientSettings.cs
new file mode 100644
index 00000000000..2a96fe4f0e7
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/src/Generated/CustomClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Authentication.Http.Custom
+{
+ [Experimental("SCME0002")]
+ public partial class CustomClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public CustomClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2Client.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2Client.cs
index be4fc518c9f..5ba9629bdd7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2Client.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2Client.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -20,6 +21,9 @@ public partial class OAuth2Client
public OAuth2Client(Uri endpoint, AuthenticationTokenProvider tokenProvider, OAuth2ClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public OAuth2Client(OAuth2ClientSettings settings) : this(settings?.Endpoint, settings?.CredentialProvider as AuthenticationTokenProvider, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Valid(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2ClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2ClientOptions.cs
index 1c41f844e44..8fc4380d187 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2ClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2ClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Authentication.OAuth2
{
public partial class OAuth2ClientOptions : ClientPipelineOptions
{
+ public OAuth2ClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal OAuth2ClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2ClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2ClientSettings.cs
new file mode 100644
index 00000000000..1051c7cf048
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/src/Generated/OAuth2ClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Authentication.OAuth2
+{
+ [Experimental("SCME0002")]
+ public partial class OAuth2ClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public OAuth2ClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClient.cs
index f7f4255c91e..e7c01b62077 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -26,6 +27,9 @@ public partial class UnionClient
public UnionClient(Uri endpoint, AuthenticationTokenProvider tokenProvider, UnionClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public UnionClient(UnionClientSettings settings) : this(settings?.Endpoint, settings?.CredentialProvider as AuthenticationTokenProvider, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult ValidKey(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClientOptions.cs
index 3a0a17570ae..c75e08f6cee 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Authentication.Union
{
public partial class UnionClientOptions : ClientPipelineOptions
{
+ public UnionClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal UnionClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClientSettings.cs
new file mode 100644
index 00000000000..f14eadcbcd3
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/src/Generated/UnionClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Authentication.Union
+{
+ [Experimental("SCME0002")]
+ public partial class UnionClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public UnionClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClient.cs
index 09efa090360..2d72fa8f02f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Client.Structure.Service;
@@ -19,6 +20,9 @@ public partial class FirstClient
public FirstClient(Uri endpoint, ClientType client, FirstClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public FirstClient(FirstClientSettings settings) : this(settings?.Endpoint, settings?.Client ?? default, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult One(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClientOptions.cs
index 881ed44ef7e..6a8bb3b3dab 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Client.Structure.ClientOperationGroup
{
public partial class FirstClientOptions : ClientPipelineOptions
{
+ public FirstClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal FirstClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClientSettings.cs
new file mode 100644
index 00000000000..47fe311045d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/FirstClientSettings.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Client.Structure.Service;
+using Microsoft.Extensions.Configuration;
+
+namespace Client.Structure.ClientOperationGroup
+{
+ [Experimental("SCME0002")]
+ public partial class FirstClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientType? Client
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public FirstClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClient.cs
index 9fe43ebbd7c..999e911015f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Client.Structure.Service;
@@ -19,6 +20,9 @@ public partial class SubNamespaceSecondClient
public SubNamespaceSecondClient(Uri endpoint, ClientType client, SubNamespaceSecondClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public SubNamespaceSecondClient(SubNamespaceSecondClientSettings settings) : this(settings?.Endpoint, settings?.Client ?? default, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Five(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClientOptions.cs
index d853790bd79..9bdb3865466 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Client.Structure.AnotherClientOperationGroup
{
public partial class SubNamespaceSecondClientOptions : ClientPipelineOptions
{
+ public SubNamespaceSecondClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal SubNamespaceSecondClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClientSettings.cs
new file mode 100644
index 00000000000..1f632d30799
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/src/Generated/SubNamespaceSecondClientSettings.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Client.Structure.Service;
+using Microsoft.Extensions.Configuration;
+
+namespace Client.Structure.AnotherClientOperationGroup
+{
+ [Experimental("SCME0002")]
+ public partial class SubNamespaceSecondClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientType? Client
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public SubNamespaceSecondClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClient.cs
index c6745dfd7c9..36534cbc6b0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Client.Structure.Service._Baz;
@@ -20,6 +21,9 @@ public partial class ServiceClient
public ServiceClient(Uri endpoint, ClientType client, ServiceClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ServiceClient(ServiceClientSettings settings) : this(settings?.Endpoint, settings?.Client ?? default, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult One(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClientOptions.cs
index 721c8b6c398..629dbd99553 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Client.Structure.Service
{
public partial class ServiceClientOptions : ClientPipelineOptions
{
+ public ServiceClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ServiceClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClientSettings.cs
new file mode 100644
index 00000000000..3f55cc86a90
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/src/Generated/ServiceClientSettings.cs
@@ -0,0 +1,35 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Client.Structure.Service
+{
+ [Experimental("SCME0002")]
+ public partial class ServiceClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientType? Client
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ServiceClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClient.cs
index 8474e633848..ee68e7681a6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Client.Structure.Service;
@@ -19,6 +20,9 @@ public partial class ClientAClient
public ClientAClient(Uri endpoint, ClientType client, ClientAClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ClientAClient(ClientAClientSettings settings) : this(settings?.Endpoint, settings?.Client ?? default, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult RenamedOne(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClientOptions.cs
index d52bc376d61..3eb91cb70a2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Client.Structure.MultiClient
{
public partial class ClientAClientOptions : ClientPipelineOptions
{
+ public ClientAClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ClientAClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClientSettings.cs
new file mode 100644
index 00000000000..6f0bbb16861
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientAClientSettings.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Client.Structure.Service;
+using Microsoft.Extensions.Configuration;
+
+namespace Client.Structure.MultiClient
+{
+ [Experimental("SCME0002")]
+ public partial class ClientAClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientType? Client
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientAClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClient.cs
index 63271b0bf6f..72c3b2441ef 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Client.Structure.Service;
@@ -19,6 +20,9 @@ public partial class ClientBClient
public ClientBClient(Uri endpoint, ClientType client, ClientBClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ClientBClient(ClientBClientSettings settings) : this(settings?.Endpoint, settings?.Client ?? default, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult RenamedTwo(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClientOptions.cs
index 79f628d59e3..5a0fed08e44 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Client.Structure.MultiClient
{
public partial class ClientBClientOptions : ClientPipelineOptions
{
+ public ClientBClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ClientBClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClientSettings.cs
new file mode 100644
index 00000000000..e7fc25b871d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/src/Generated/ClientBClientSettings.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Client.Structure.Service;
+using Microsoft.Extensions.Configuration;
+
+namespace Client.Structure.MultiClient
+{
+ [Experimental("SCME0002")]
+ public partial class ClientBClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientType? Client
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientBClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClient.cs
index acb300be1b5..93d800011fd 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Client.Structure.Service;
@@ -19,6 +20,9 @@ public partial class RenamedOperationClient
public RenamedOperationClient(Uri endpoint, ClientType client, RenamedOperationClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RenamedOperationClient(RenamedOperationClientSettings settings) : this(settings?.Endpoint, settings?.Client ?? default, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult RenamedOne(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClientOptions.cs
index 981265b249d..d0992ccf0df 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Client.Structure.RenamedOperation
{
public partial class RenamedOperationClientOptions : ClientPipelineOptions
{
+ public RenamedOperationClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal RenamedOperationClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClientSettings.cs
new file mode 100644
index 00000000000..ad180f069ef
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/src/Generated/RenamedOperationClientSettings.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Client.Structure.Service;
+using Microsoft.Extensions.Configuration;
+
+namespace Client.Structure.RenamedOperation
+{
+ [Experimental("SCME0002")]
+ public partial class RenamedOperationClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientType? Client
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RenamedOperationClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClient.cs
index 42cdaf6080a..724f534da1e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Client.Structure.Service;
namespace Client.Structure.TwoOperationGroup
@@ -16,6 +17,9 @@ public partial class TwoOperationGroupClient
public TwoOperationGroupClient(Uri endpoint, ClientType client, TwoOperationGroupClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public TwoOperationGroupClient(TwoOperationGroupClientSettings settings) : this(settings?.Endpoint, settings?.Client ?? default, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Group1 GetGroup1Client() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClientOptions.cs
index 95058870aa8..f2f71a70cb9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Client.Structure.TwoOperationGroup
{
public partial class TwoOperationGroupClientOptions : ClientPipelineOptions
{
+ public TwoOperationGroupClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal TwoOperationGroupClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClientSettings.cs
new file mode 100644
index 00000000000..95a3a7d145b
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/src/Generated/TwoOperationGroupClientSettings.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Client.Structure.Service;
+using Microsoft.Extensions.Configuration;
+
+namespace Client.Structure.TwoOperationGroup
+{
+ [Experimental("SCME0002")]
+ public partial class TwoOperationGroupClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ClientType? Client
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public TwoOperationGroupClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClient.cs
index 8f961dff791..1b4f533629a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Documentation._Lists;
using Documentation._TextFormatting;
@@ -15,6 +16,9 @@ public partial class DocumentationClient
public DocumentationClient(Uri endpoint, DocumentationClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public DocumentationClient(DocumentationClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Lists GetListsClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClientOptions.cs
index d14497f2a3d..71abccf911b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Documentation
{
public partial class DocumentationClientOptions : ClientPipelineOptions
{
+ public DocumentationClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal DocumentationClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClientSettings.cs
new file mode 100644
index 00000000000..3359778538d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/src/Generated/DocumentationClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Documentation
+{
+ [Experimental("SCME0002")]
+ public partial class DocumentationClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public DocumentationClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClient.cs
index 55ae5b366f0..9398d01f302 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Encode._Array._Property;
namespace Encode._Array
@@ -14,6 +15,9 @@ public partial class ArrayClient
public ArrayClient(Uri endpoint, ArrayClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ArrayClient(ArrayClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Property GetPropertyClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClientOptions.cs
index 392d2e67a55..53bc44de8ab 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Encode._Array
{
public partial class ArrayClientOptions : ClientPipelineOptions
{
+ public ArrayClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ArrayClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClientSettings.cs
new file mode 100644
index 00000000000..a63b499749e
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/src/Generated/ArrayClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Encode._Array
+{
+ [Experimental("SCME0002")]
+ public partial class ArrayClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ArrayClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClient.cs
index 9f869034eb7..aa4260d61d9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Encode.Bytes._Header;
using Encode.Bytes._Property;
using Encode.Bytes._Query;
@@ -18,6 +19,9 @@ public partial class BytesClient
public BytesClient(Uri endpoint, BytesClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public BytesClient(BytesClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Query GetQueryClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClientOptions.cs
index cd5fed986b7..9e4ed241a12 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Encode.Bytes
{
public partial class BytesClientOptions : ClientPipelineOptions
{
+ public BytesClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal BytesClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClientSettings.cs
new file mode 100644
index 00000000000..a6033329a11
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/src/Generated/BytesClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Encode.Bytes
+{
+ [Experimental("SCME0002")]
+ public partial class BytesClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public BytesClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClient.cs
index 99b7355986c..3620302eb68 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Encode.Datetime._Header;
using Encode.Datetime._Property;
using Encode.Datetime._Query;
@@ -17,6 +18,9 @@ public partial class DatetimeClient
public DatetimeClient(Uri endpoint, DatetimeClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public DatetimeClient(DatetimeClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Query GetQueryClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClientOptions.cs
index 698cb7d64f1..39b0653f0a2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Encode.Datetime
{
public partial class DatetimeClientOptions : ClientPipelineOptions
{
+ public DatetimeClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal DatetimeClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClientSettings.cs
new file mode 100644
index 00000000000..9924fa8a904
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/src/Generated/DatetimeClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Encode.Datetime
+{
+ [Experimental("SCME0002")]
+ public partial class DatetimeClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public DatetimeClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClient.cs
index 5f2a93cce5a..2d3a7bc7cec 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Encode.Duration._Header;
using Encode.Duration._Property;
using Encode.Duration._Query;
@@ -16,6 +17,9 @@ public partial class DurationClient
public DurationClient(Uri endpoint, DurationClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public DurationClient(DurationClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Query GetQueryClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClientOptions.cs
index a78e11b5410..a3259a567ec 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Encode.Duration
{
public partial class DurationClientOptions : ClientPipelineOptions
{
+ public DurationClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal DurationClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClientSettings.cs
new file mode 100644
index 00000000000..d5794c77d32
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/src/Generated/DurationClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Encode.Duration
+{
+ [Experimental("SCME0002")]
+ public partial class DurationClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public DurationClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClient.cs
index a43095cc1bc..f7b5a16fb1f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Encode.Numeric._Property;
namespace Encode.Numeric
@@ -14,6 +15,9 @@ public partial class NumericClient
public NumericClient(Uri endpoint, NumericClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public NumericClient(NumericClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Property GetPropertyClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClientOptions.cs
index 94e681301bf..678f0fd0618 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Encode.Numeric
{
public partial class NumericClientOptions : ClientPipelineOptions
{
+ public NumericClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal NumericClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClientSettings.cs
new file mode 100644
index 00000000000..1eb21a455d6
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/src/Generated/NumericClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Encode.Numeric
+{
+ [Experimental("SCME0002")]
+ public partial class NumericClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public NumericClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClient.cs
index dfb24ed2a43..bf0f4d22e3e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Parameters.Basic._ExplicitBody;
using Parameters.Basic._ImplicitBody;
@@ -15,6 +16,9 @@ public partial class BasicClient
public BasicClient(Uri endpoint, BasicClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public BasicClient(BasicClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ExplicitBody GetExplicitBodyClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClientOptions.cs
index 8739650ee13..a537b38f60a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Parameters.Basic
{
public partial class BasicClientOptions : ClientPipelineOptions
{
+ public BasicClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal BasicClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClientSettings.cs
new file mode 100644
index 00000000000..51e2b9e6c0f
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/src/Generated/BasicClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Parameters.Basic
+{
+ [Experimental("SCME0002")]
+ public partial class BasicClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public BasicClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClient.cs
index 3c77de1b7fe..8ada2ace385 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Parameters.BodyOptionality._OptionalExplicit;
@@ -17,6 +18,9 @@ public partial class BodyOptionalityClient
public BodyOptionalityClient(Uri endpoint, BodyOptionalityClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public BodyOptionalityClient(BodyOptionalityClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult RequiredExplicit(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClientOptions.cs
index 80f4405292a..33804b10acc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Parameters.BodyOptionality
{
public partial class BodyOptionalityClientOptions : ClientPipelineOptions
{
+ public BodyOptionalityClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal BodyOptionalityClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClientSettings.cs
new file mode 100644
index 00000000000..137094caec7
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/src/Generated/BodyOptionalityClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Parameters.BodyOptionality
+{
+ [Experimental("SCME0002")]
+ public partial class BodyOptionalityClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public BodyOptionalityClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClient.cs
index c75beeba0ad..b01cbda1fa4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Parameters.CollectionFormat._Header;
using Parameters.CollectionFormat._Query;
@@ -15,6 +16,9 @@ public partial class CollectionFormatClient
public CollectionFormatClient(Uri endpoint, CollectionFormatClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public CollectionFormatClient(CollectionFormatClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Query GetQueryClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClientOptions.cs
index 31d6176ffa4..227d9ffd344 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Parameters.CollectionFormat
{
public partial class CollectionFormatClientOptions : ClientPipelineOptions
{
+ public CollectionFormatClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal CollectionFormatClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClientSettings.cs
new file mode 100644
index 00000000000..ae7b80aa260
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/src/Generated/CollectionFormatClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Parameters.CollectionFormat
+{
+ [Experimental("SCME0002")]
+ public partial class CollectionFormatClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public CollectionFormatClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClient.cs
index d4db42a991a..bb9f8d21079 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class PathClient
public PathClient(Uri endpoint, PathClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public PathClient(PathClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Normal(string name, RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClientOptions.cs
index 9a352e9e917..b544589353f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Parameters.Path
{
public partial class PathClientOptions : ClientPipelineOptions
{
+ public PathClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal PathClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClientSettings.cs
new file mode 100644
index 00000000000..a5fa1a1373e
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/src/Generated/PathClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Parameters.Path
+{
+ [Experimental("SCME0002")]
+ public partial class PathClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public PathClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClient.cs
index c3ed5f02aab..688a29355de 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace Parameters.Query
{
@@ -13,6 +14,9 @@ public partial class QueryClient
public QueryClient(Uri endpoint, QueryClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public QueryClient(QueryClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Constant GetConstantClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClientOptions.cs
index a625c60f864..a785237dffc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Parameters.Query
{
public partial class QueryClientOptions : ClientPipelineOptions
{
+ public QueryClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal QueryClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClientSettings.cs
new file mode 100644
index 00000000000..d41690bb4e7
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/src/Generated/QueryClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Parameters.Query
+{
+ [Experimental("SCME0002")]
+ public partial class QueryClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public QueryClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClient.cs
index 310ea3031c4..8242e4db12f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Parameters.Spread._Alias;
using Parameters.Spread._Model;
@@ -15,6 +16,9 @@ public partial class SpreadClient
public SpreadClient(Uri endpoint, SpreadClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public SpreadClient(SpreadClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Model GetModelClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClientOptions.cs
index c738d114fae..27baba6242d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Parameters.Spread
{
public partial class SpreadClientOptions : ClientPipelineOptions
{
+ public SpreadClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal SpreadClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClientSettings.cs
new file mode 100644
index 00000000000..1ca4f6c34d8
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/src/Generated/SpreadClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Parameters.Spread
+{
+ [Experimental("SCME0002")]
+ public partial class SpreadClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public SpreadClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClient.cs
index 3632bd3895d..37853116524 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Payload.ContentNegotiation._DifferentBody;
using Payload.ContentNegotiation._SameBody;
@@ -15,6 +16,9 @@ public partial class ContentNegotiationClient
public ContentNegotiationClient(Uri endpoint, ContentNegotiationClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ContentNegotiationClient(ContentNegotiationClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual SameBody GetSameBodyClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClientOptions.cs
index b35052fa447..c6e914d7f4c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Payload.ContentNegotiation
{
public partial class ContentNegotiationClientOptions : ClientPipelineOptions
{
+ public ContentNegotiationClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ContentNegotiationClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClientSettings.cs
new file mode 100644
index 00000000000..518fbf6fb65
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/src/Generated/ContentNegotiationClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Payload.ContentNegotiation
+{
+ [Experimental("SCME0002")]
+ public partial class ContentNegotiationClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ContentNegotiationClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClient.cs
index 06f7a37dced..03df0074364 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class JsonMergePatchClient
public JsonMergePatchClient(Uri endpoint, JsonMergePatchClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public JsonMergePatchClient(JsonMergePatchClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult CreateResource(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClientOptions.cs
index 044a4f35fb3..c64a14e0ec1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Payload.JsonMergePatch
{
public partial class JsonMergePatchClientOptions : ClientPipelineOptions
{
+ public JsonMergePatchClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal JsonMergePatchClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClientSettings.cs
new file mode 100644
index 00000000000..53e5788c5d5
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/src/Generated/JsonMergePatchClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Payload.JsonMergePatch
+{
+ [Experimental("SCME0002")]
+ public partial class JsonMergePatchClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public JsonMergePatchClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClient.cs
index 6e34839a39c..a2721fdee72 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Payload.MediaType._StringBody;
namespace Payload.MediaType
@@ -14,6 +15,9 @@ public partial class MediaTypeClient
public MediaTypeClient(Uri endpoint, MediaTypeClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public MediaTypeClient(MediaTypeClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual StringBody GetStringBodyClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClientOptions.cs
index 34c7b715a6f..eb36f49a44c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Payload.MediaType
{
public partial class MediaTypeClientOptions : ClientPipelineOptions
{
+ public MediaTypeClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal MediaTypeClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClientSettings.cs
new file mode 100644
index 00000000000..2d7404eca4e
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/src/Generated/MediaTypeClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Payload.MediaType
+{
+ [Experimental("SCME0002")]
+ public partial class MediaTypeClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public MediaTypeClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClient.cs
index cd0cceb3f85..4d3ab9ccea0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Payload.MultiPart._FormData;
namespace Payload.MultiPart
@@ -14,6 +15,9 @@ public partial class MultiPartClient
public MultiPartClient(Uri endpoint, MultiPartClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public MultiPartClient(MultiPartClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual FormData GetFormDataClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClientOptions.cs
index 637c71f86aa..8c4e0bdd9bc 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Payload.MultiPart
{
public partial class MultiPartClientOptions : ClientPipelineOptions
{
+ public MultiPartClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal MultiPartClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClientSettings.cs
new file mode 100644
index 00000000000..4952a597b64
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/src/Generated/MultiPartClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Payload.MultiPart
+{
+ [Experimental("SCME0002")]
+ public partial class MultiPartClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public MultiPartClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClient.cs
index 990fa78c378..d2371c25205 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Payload.Pageable._PageSize;
using Payload.Pageable._ServerDrivenPagination;
using Payload.Pageable._XmlPagination;
@@ -16,6 +17,9 @@ public partial class PageableClient
public PageableClient(Uri endpoint, PageableClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public PageableClient(PageableClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ServerDrivenPagination GetServerDrivenPaginationClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClientOptions.cs
index a852c495b1e..42a316d9908 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Payload.Pageable
{
public partial class PageableClientOptions : ClientPipelineOptions
{
+ public PageableClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal PageableClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClientSettings.cs
new file mode 100644
index 00000000000..f1e6a9393e2
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/src/Generated/PageableClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Payload.Pageable
+{
+ [Experimental("SCME0002")]
+ public partial class PageableClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public PageableClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClient.cs
index 8b674b49e90..a0354192a44 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace Payload.Xml
{
@@ -13,6 +14,9 @@ public partial class XmlClient
public XmlClient(Uri endpoint, XmlClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public XmlClient(XmlClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual SimpleModelValue GetSimpleModelValueClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClientOptions.cs
index 467bebf98b1..8969f41eb08 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Payload.Xml
{
public partial class XmlClientOptions : ClientPipelineOptions
{
+ public XmlClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal XmlClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClientSettings.cs
new file mode 100644
index 00000000000..57bc9f1bbc8
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/xml/src/Generated/XmlClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Payload.Xml
+{
+ [Experimental("SCME0002")]
+ public partial class XmlClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public XmlClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClient.cs
index d5a954479be..d1576cf1e2d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class ResiliencyServiceDrivenClient
public ResiliencyServiceDrivenClient(Uri endpoint, string serviceDeploymentVersion, ResiliencyServiceDrivenClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ResiliencyServiceDrivenClient(ResiliencyServiceDrivenClientSettings settings) : this(settings?.Endpoint, settings?.ServiceDeploymentVersion, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult FromNone(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClientOptions.cs
index d5dd7cc38e0..2612bc02b39 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Resiliency.ServiceDriven
{
@@ -12,6 +14,9 @@ public partial class ResiliencyServiceDrivenClientOptions : ClientPipelineOption
public ResiliencyServiceDrivenClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal ResiliencyServiceDrivenClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// Version 1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClientSettings.cs
new file mode 100644
index 00000000000..dd1dd517226
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/src/Generated/ResiliencyServiceDrivenClientSettings.cs
@@ -0,0 +1,35 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Resiliency.ServiceDriven
+{
+ [Experimental("SCME0002")]
+ public partial class ResiliencyServiceDrivenClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public string ServiceDeploymentVersion
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ResiliencyServiceDrivenClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClient.cs
index d99259d205c..c44274d26d8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class ResiliencyServiceDrivenClient
public ResiliencyServiceDrivenClient(Uri endpoint, string serviceDeploymentVersion, ResiliencyServiceDrivenClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ResiliencyServiceDrivenClient(ResiliencyServiceDrivenClientSettings settings) : this(settings?.Endpoint, settings?.ServiceDeploymentVersion, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult AddOperation(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClientOptions.cs
index 233945b82e3..b4d13f3a8f5 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Resiliency.ServiceDriven
{
@@ -12,6 +14,9 @@ public partial class ResiliencyServiceDrivenClientOptions : ClientPipelineOption
public ResiliencyServiceDrivenClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal ResiliencyServiceDrivenClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// Version 1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClientSettings.cs
new file mode 100644
index 00000000000..dd1dd517226
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/src/Generated/ResiliencyServiceDrivenClientSettings.cs
@@ -0,0 +1,35 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Resiliency.ServiceDriven
+{
+ [Experimental("SCME0002")]
+ public partial class ResiliencyServiceDrivenClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public string ServiceDeploymentVersion
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ResiliencyServiceDrivenClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClient.cs
index 68220900e03..cc62426e506 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class StatusCodeRangeClient
public StatusCodeRangeClient(Uri endpoint, StatusCodeRangeClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public StatusCodeRangeClient(StatusCodeRangeClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult ErrorResponseStatusCodeInRange(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClientOptions.cs
index 2433a12ddfd..6c81e4b3cb9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Response.StatusCodeRange
{
public partial class StatusCodeRangeClientOptions : ClientPipelineOptions
{
+ public StatusCodeRangeClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal StatusCodeRangeClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClientSettings.cs
new file mode 100644
index 00000000000..c08b681519a
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/src/Generated/StatusCodeRangeClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Response.StatusCodeRange
+{
+ [Experimental("SCME0002")]
+ public partial class StatusCodeRangeClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public StatusCodeRangeClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClient.cs
index 7b3edc83edf..9e22955b9e7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
using Routes._PathParameters;
@@ -18,6 +19,9 @@ public partial class RoutesClient
public RoutesClient(Uri endpoint, RoutesClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RoutesClient(RoutesClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Fixed(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClientOptions.cs
index f81efdb4ab9..7baddfceeb4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Routes
{
public partial class RoutesClientOptions : ClientPipelineOptions
{
+ public RoutesClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal RoutesClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClientSettings.cs
new file mode 100644
index 00000000000..8b389ba6227
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/src/Generated/RoutesClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Routes
+{
+ [Experimental("SCME0002")]
+ public partial class RoutesClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RoutesClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClient.cs
index 0e13b569cc6..f2fe872a261 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using Serialization.EncodedName.Json._Property;
namespace Serialization.EncodedName.Json
@@ -14,6 +15,9 @@ public partial class JsonClient
public JsonClient(Uri endpoint, JsonClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public JsonClient(JsonClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Property GetPropertyClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClientOptions.cs
index bc3159f77db..9ecf64e286d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Serialization.EncodedName.Json
{
public partial class JsonClientOptions : ClientPipelineOptions
{
+ public JsonClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal JsonClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClientSettings.cs
new file mode 100644
index 00000000000..ae2ecca1041
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/src/Generated/JsonClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Serialization.EncodedName.Json
+{
+ [Experimental("SCME0002")]
+ public partial class JsonClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public JsonClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClient.cs
index c9b371e3911..028fad6a4b2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class NotDefinedClient
public NotDefinedClient(Uri endpoint, NotDefinedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public NotDefinedClient(NotDefinedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Valid(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClientOptions.cs
index 7621f589fdc..4b087e11457 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Server.Endpoint.NotDefined
{
public partial class NotDefinedClientOptions : ClientPipelineOptions
{
+ public NotDefinedClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal NotDefinedClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClientSettings.cs
new file mode 100644
index 00000000000..fd6f73d8ae7
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/src/Generated/NotDefinedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Server.Endpoint.NotDefined
+{
+ [Experimental("SCME0002")]
+ public partial class NotDefinedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public NotDefinedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClient.cs
index cfb066bf912..99b5606c8f9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class MultipleClient
public MultipleClient(Uri endpoint, MultipleClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public MultipleClient(MultipleClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult NoOperationParams(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClientOptions.cs
index 3c63332cfb3..caa3e5d7a43 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Server.Path.Multiple
{
@@ -12,6 +14,9 @@ public partial class MultipleClientOptions : ClientPipelineOptions
public MultipleClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal MultipleClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// Version 1.0.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClientSettings.cs
new file mode 100644
index 00000000000..6f63f3d49bd
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/src/Generated/MultipleClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Server.Path.Multiple
+{
+ [Experimental("SCME0002")]
+ public partial class MultipleClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public MultipleClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClient.cs
index 25d2f13eb10..1296a3c8ddf 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class SingleClient
public SingleClient(Uri endpoint, SingleClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public SingleClient(SingleClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult MyOp(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClientOptions.cs
index 2bf92e1e4dd..2437f3efb2e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Server.Path.Single
{
public partial class SingleClientOptions : ClientPipelineOptions
{
+ public SingleClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal SingleClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClientSettings.cs
new file mode 100644
index 00000000000..62fc1c47174
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/src/Generated/SingleClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Server.Path.Single
+{
+ [Experimental("SCME0002")]
+ public partial class SingleClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public SingleClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClient.cs
index 6fb0abe3bce..18284bace62 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class NotVersionedClient
public NotVersionedClient(Uri endpoint, NotVersionedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public NotVersionedClient(NotVersionedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult WithoutApiVersion(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClientOptions.cs
index f08093acac4..d799204f298 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Server.Versions.NotVersioned
{
public partial class NotVersionedClientOptions : ClientPipelineOptions
{
+ public NotVersionedClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal NotVersionedClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClientSettings.cs
new file mode 100644
index 00000000000..f090470d82a
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/src/Generated/NotVersionedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Server.Versions.NotVersioned
+{
+ [Experimental("SCME0002")]
+ public partial class NotVersionedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public NotVersionedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClient.cs
index 01e9d2e3224..5beaaaff906 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class VersionedClient
public VersionedClient(Uri endpoint, VersionedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public VersionedClient(VersionedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult WithoutApiVersion(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClientOptions.cs
index 6caa7e3df01..ad90f69c8ee 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Server.Versions.Versioned
{
@@ -12,6 +14,9 @@ public partial class VersionedClientOptions : ClientPipelineOptions
public VersionedClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal VersionedClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version 2022-12-01-preview.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClientSettings.cs
new file mode 100644
index 00000000000..b9d2f526719
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/src/Generated/VersionedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Server.Versions.Versioned
+{
+ [Experimental("SCME0002")]
+ public partial class VersionedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public VersionedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClient.cs
index 0e54b80f164..976a2b46406 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class ConditionalRequestClient
public ConditionalRequestClient(Uri endpoint, ConditionalRequestClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ConditionalRequestClient(ConditionalRequestClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult PostIfMatch(string ifMatch, RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClientOptions.cs
index 924fd0111b6..95d658caefb 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace SpecialHeaders.ConditionalRequest
{
public partial class ConditionalRequestClientOptions : ClientPipelineOptions
{
+ public ConditionalRequestClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ConditionalRequestClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClientSettings.cs
new file mode 100644
index 00000000000..875c80b7101
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/src/Generated/ConditionalRequestClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace SpecialHeaders.ConditionalRequest
+{
+ [Experimental("SCME0002")]
+ public partial class ConditionalRequestClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ConditionalRequestClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClient.cs
index 325865ab679..04f50ea930e 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class RepeatabilityClient
public RepeatabilityClient(Uri endpoint, RepeatabilityClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RepeatabilityClient(RepeatabilityClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult ImmediateSuccess(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClientOptions.cs
index e41461a9acc..fb088f71dbb 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace SpecialHeaders.Repeatability
{
public partial class RepeatabilityClientOptions : ClientPipelineOptions
{
+ public RepeatabilityClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal RepeatabilityClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClientSettings.cs
new file mode 100644
index 00000000000..3a295325198
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/src/Generated/RepeatabilityClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace SpecialHeaders.Repeatability
+{
+ [Experimental("SCME0002")]
+ public partial class RepeatabilityClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RepeatabilityClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClient.cs
index 7d18528a04e..7d4c924f080 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using SpecialWords._ModelProperties;
using SpecialWords._Models;
@@ -15,6 +16,9 @@ public partial class SpecialWordsClient
public SpecialWordsClient(Uri endpoint, SpecialWordsClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public SpecialWordsClient(SpecialWordsClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Models GetModelsClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClientOptions.cs
index 51d0271c810..62880034a3c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace SpecialWords
{
public partial class SpecialWordsClientOptions : ClientPipelineOptions
{
+ public SpecialWordsClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal SpecialWordsClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClientSettings.cs
new file mode 100644
index 00000000000..28c09cdfd51
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/src/Generated/SpecialWordsClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace SpecialWords
+{
+ [Experimental("SCME0002")]
+ public partial class SpecialWordsClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public SpecialWordsClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClient.cs
index 515ecb8abaa..eff03c97449 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type._Array
{
@@ -13,6 +14,9 @@ public partial class ArrayClient
public ArrayClient(Uri endpoint, ArrayClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ArrayClient(ArrayClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Int32Value GetInt32ValueClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClientOptions.cs
index 90179926109..dc7837266e1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type._Array
{
public partial class ArrayClientOptions : ClientPipelineOptions
{
+ public ArrayClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ArrayClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClientSettings.cs
new file mode 100644
index 00000000000..c315edcc62d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/src/Generated/ArrayClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type._Array
+{
+ [Experimental("SCME0002")]
+ public partial class ArrayClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ArrayClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClient.cs
index ce6ad9364b3..62f36b059e2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type.Dictionary
{
@@ -13,6 +14,9 @@ public partial class DictionaryClient
public DictionaryClient(Uri endpoint, DictionaryClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public DictionaryClient(DictionaryClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Int32Value GetInt32ValueClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClientOptions.cs
index 7cb91a10843..ffc737d6134 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Dictionary
{
public partial class DictionaryClientOptions : ClientPipelineOptions
{
+ public DictionaryClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal DictionaryClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClientSettings.cs
new file mode 100644
index 00000000000..2e51cfc2467
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/src/Generated/DictionaryClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Dictionary
+{
+ [Experimental("SCME0002")]
+ public partial class DictionaryClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public DictionaryClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClient.cs
index 2d82a8caeb9..1519ba1020a 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type._Enum.Extensible
{
@@ -13,6 +14,9 @@ public partial class ExtensibleClient
public ExtensibleClient(Uri endpoint, ExtensibleClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ExtensibleClient(ExtensibleClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual String GetStringClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClientOptions.cs
index 525ccf06c11..8abce3f7be1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type._Enum.Extensible
{
public partial class ExtensibleClientOptions : ClientPipelineOptions
{
+ public ExtensibleClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ExtensibleClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClientSettings.cs
new file mode 100644
index 00000000000..feadb885bf8
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/src/Generated/ExtensibleClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type._Enum.Extensible
+{
+ [Experimental("SCME0002")]
+ public partial class ExtensibleClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ExtensibleClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClient.cs
index 3c72b867393..d035af03d3c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type._Enum.Fixed
{
@@ -13,6 +14,9 @@ public partial class FixedClient
public FixedClient(Uri endpoint, FixedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public FixedClient(FixedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual String GetStringClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClientOptions.cs
index b3e1ebf26c3..5aa2c9da80c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type._Enum.Fixed
{
public partial class FixedClientOptions : ClientPipelineOptions
{
+ public FixedClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal FixedClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClientSettings.cs
new file mode 100644
index 00000000000..4e365e6f6c5
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/src/Generated/FixedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type._Enum.Fixed
+{
+ [Experimental("SCME0002")]
+ public partial class FixedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public FixedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClient.cs
index 70d8023048c..adc65d8c815 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class EmptyClient
public EmptyClient(Uri endpoint, EmptyClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public EmptyClient(EmptyClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult PutEmpty(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClientOptions.cs
index 56e786c637d..624ba0c0143 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Model.Empty
{
public partial class EmptyClientOptions : ClientPipelineOptions
{
+ public EmptyClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal EmptyClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClientSettings.cs
new file mode 100644
index 00000000000..8635789555e
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/src/Generated/EmptyClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Model.Empty
+{
+ [Experimental("SCME0002")]
+ public partial class EmptyClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public EmptyClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClient.cs
index 2eec9f2f047..2a42fc59d9d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class EnumDiscriminatorClient
public EnumDiscriminatorClient(Uri endpoint, EnumDiscriminatorClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public EnumDiscriminatorClient(EnumDiscriminatorClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult GetExtensibleModel(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClientOptions.cs
index fc64fcba766..3945cd829b8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Model.Inheritance.EnumDiscriminator
{
public partial class EnumDiscriminatorClientOptions : ClientPipelineOptions
{
+ public EnumDiscriminatorClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal EnumDiscriminatorClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClientSettings.cs
new file mode 100644
index 00000000000..fd5914814bd
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/src/Generated/EnumDiscriminatorClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Model.Inheritance.EnumDiscriminator
+{
+ [Experimental("SCME0002")]
+ public partial class EnumDiscriminatorClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public EnumDiscriminatorClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClient.cs
index 677ad5ba4f3..31927ffdbf0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class NestedDiscriminatorClient
public NestedDiscriminatorClient(Uri endpoint, NestedDiscriminatorClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public NestedDiscriminatorClient(NestedDiscriminatorClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult GetModel(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClientOptions.cs
index 000960d84d9..f6c8cb646ab 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Model.Inheritance.NestedDiscriminator
{
public partial class NestedDiscriminatorClientOptions : ClientPipelineOptions
{
+ public NestedDiscriminatorClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal NestedDiscriminatorClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClientSettings.cs
new file mode 100644
index 00000000000..ebb7fd9e0c8
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/src/Generated/NestedDiscriminatorClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Model.Inheritance.NestedDiscriminator
+{
+ [Experimental("SCME0002")]
+ public partial class NestedDiscriminatorClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public NestedDiscriminatorClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClient.cs
index e573655283f..b9945e189b4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class NotDiscriminatedClient
public NotDiscriminatedClient(Uri endpoint, NotDiscriminatedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public NotDiscriminatedClient(NotDiscriminatedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult PostValid(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClientOptions.cs
index c727712c1f8..7b39c39bee2 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Model.Inheritance.NotDiscriminated
{
public partial class NotDiscriminatedClientOptions : ClientPipelineOptions
{
+ public NotDiscriminatedClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal NotDiscriminatedClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClientSettings.cs
new file mode 100644
index 00000000000..eab881e66bc
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/src/Generated/NotDiscriminatedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Model.Inheritance.NotDiscriminated
+{
+ [Experimental("SCME0002")]
+ public partial class NotDiscriminatedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public NotDiscriminatedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClient.cs
index 50140c50d04..afba4893da8 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class RecursiveClient
public RecursiveClient(Uri endpoint, RecursiveClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RecursiveClient(RecursiveClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Put(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClientOptions.cs
index cf994ec31db..3d72ed64ff1 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Model.Inheritance.Recursive
{
public partial class RecursiveClientOptions : ClientPipelineOptions
{
+ public RecursiveClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal RecursiveClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClientSettings.cs
new file mode 100644
index 00000000000..deaa4e1f167
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/src/Generated/RecursiveClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Model.Inheritance.Recursive
+{
+ [Experimental("SCME0002")]
+ public partial class RecursiveClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RecursiveClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClient.cs
index 261b93c7665..a9884144620 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class SingleDiscriminatorClient
public SingleDiscriminatorClient(Uri endpoint, SingleDiscriminatorClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public SingleDiscriminatorClient(SingleDiscriminatorClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult GetModel(RequestOptions options) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClientOptions.cs
index ab3b42d7150..2b4f31e4023 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Model.Inheritance.SingleDiscriminator
{
public partial class SingleDiscriminatorClientOptions : ClientPipelineOptions
{
+ public SingleDiscriminatorClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal SingleDiscriminatorClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClientSettings.cs
new file mode 100644
index 00000000000..ab187bd8d92
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/src/Generated/SingleDiscriminatorClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Model.Inheritance.SingleDiscriminator
+{
+ [Experimental("SCME0002")]
+ public partial class SingleDiscriminatorClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public SingleDiscriminatorClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClient.cs
index cd3f6b4c23d..26eccdcc4f3 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class UsageClient
public UsageClient(Uri endpoint, UsageClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public UsageClient(UsageClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Input(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClientOptions.cs
index 307a5173a35..d5df51bba00 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Model.Usage
{
public partial class UsageClientOptions : ClientPipelineOptions
{
+ public UsageClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal UsageClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClientSettings.cs
new file mode 100644
index 00000000000..1d813163af2
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/src/Generated/UsageClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Model.Usage
+{
+ [Experimental("SCME0002")]
+ public partial class UsageClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public UsageClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClient.cs
index 901d82e4098..4bda7d3fdcd 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -16,6 +17,9 @@ public partial class VisibilityClient
public VisibilityClient(Uri endpoint, VisibilityClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public VisibilityClient(VisibilityClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult GetModel(int queryProp, BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClientOptions.cs
index a32153c9626..520f19501ba 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Model.Visibility
{
public partial class VisibilityClientOptions : ClientPipelineOptions
{
+ public VisibilityClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal VisibilityClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClientSettings.cs
new file mode 100644
index 00000000000..75f60f4f199
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/src/Generated/VisibilityClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Model.Visibility
+{
+ [Experimental("SCME0002")]
+ public partial class VisibilityClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public VisibilityClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClient.cs
index 86b144da674..d10d4de3960 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type.Property.AdditionalProperties
{
@@ -13,6 +14,9 @@ public partial class AdditionalPropertiesClient
public AdditionalPropertiesClient(Uri endpoint, AdditionalPropertiesClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public AdditionalPropertiesClient(AdditionalPropertiesClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ExtendsUnknown GetExtendsUnknownClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClientOptions.cs
index 131277df71b..6564b4c3c8b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Property.AdditionalProperties
{
public partial class AdditionalPropertiesClientOptions : ClientPipelineOptions
{
+ public AdditionalPropertiesClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal AdditionalPropertiesClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClientSettings.cs
new file mode 100644
index 00000000000..2ecc0cb99b0
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/src/Generated/AdditionalPropertiesClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Property.AdditionalProperties
+{
+ [Experimental("SCME0002")]
+ public partial class AdditionalPropertiesClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public AdditionalPropertiesClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClient.cs
index 96329118412..345bda037b6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type.Property.Nullable
{
@@ -13,6 +14,9 @@ public partial class NullableClient
public NullableClient(Uri endpoint, NullableClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public NullableClient(NullableClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual String GetStringClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClientOptions.cs
index d4939dbbb1f..4e33d510c38 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Property.Nullable
{
public partial class NullableClientOptions : ClientPipelineOptions
{
+ public NullableClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal NullableClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClientSettings.cs
new file mode 100644
index 00000000000..738504eba24
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/src/Generated/NullableClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Property.Nullable
+{
+ [Experimental("SCME0002")]
+ public partial class NullableClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public NullableClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClient.cs
index 6f67bdc1b3a..63b9eb4e2c4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type.Property.Optional
{
@@ -13,6 +14,9 @@ public partial class OptionalClient
public OptionalClient(Uri endpoint, OptionalClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public OptionalClient(OptionalClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual String GetStringClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClientOptions.cs
index a9ffaadfe8f..822e91c77df 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Property.Optional
{
public partial class OptionalClientOptions : ClientPipelineOptions
{
+ public OptionalClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal OptionalClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClientSettings.cs
new file mode 100644
index 00000000000..b6de9fdd7d6
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/src/Generated/OptionalClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Property.Optional
+{
+ [Experimental("SCME0002")]
+ public partial class OptionalClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public OptionalClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClient.cs
index 2d928c3bb26..b2a31ce63d0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type.Property.ValueTypes
{
@@ -13,6 +14,9 @@ public partial class ValueTypesClient
public ValueTypesClient(Uri endpoint, ValueTypesClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ValueTypesClient(ValueTypesClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual Boolean GetBooleanClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClientOptions.cs
index ecfa4e24e2a..2a908e1bd20 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Property.ValueTypes
{
public partial class ValueTypesClientOptions : ClientPipelineOptions
{
+ public ValueTypesClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ValueTypesClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClientSettings.cs
new file mode 100644
index 00000000000..804ef7bdb0c
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/src/Generated/ValueTypesClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Property.ValueTypes
+{
+ [Experimental("SCME0002")]
+ public partial class ValueTypesClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ValueTypesClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClient.cs
index 7a2ab78771c..b8d8365878c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type.Scalar
{
@@ -13,6 +14,9 @@ public partial class ScalarClient
public ScalarClient(Uri endpoint, ScalarClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ScalarClient(ScalarClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual String GetStringClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClientOptions.cs
index 315778f0dfa..16a42e8a09c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Scalar
{
public partial class ScalarClientOptions : ClientPipelineOptions
{
+ public ScalarClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal ScalarClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClientSettings.cs
new file mode 100644
index 00000000000..c16448023ec
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/src/Generated/ScalarClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Scalar
+{
+ [Experimental("SCME0002")]
+ public partial class ScalarClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ScalarClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClient.cs
index d8169c7677e..84e89fe37f7 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClient.cs
@@ -4,6 +4,7 @@
using System;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
namespace _Type.Union
{
@@ -13,6 +14,9 @@ public partial class UnionClient
public UnionClient(Uri endpoint, UnionClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public UnionClient(UnionClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual StringsOnly GetStringsOnlyClient() => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClientOptions.cs
index e5f6e387e74..9352bd0c9c3 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClientOptions.cs
@@ -3,10 +3,16 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace _Type.Union
{
public partial class UnionClientOptions : ClientPipelineOptions
{
+ public UnionClientOptions() => throw null;
+
+ [Experimental("SCME0002")]
+ internal UnionClientOptions(IConfigurationSection section) : base(section) => throw null;
}
}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClientSettings.cs
new file mode 100644
index 00000000000..71defed8463
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/src/Generated/UnionClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace _Type.Union
+{
+ [Experimental("SCME0002")]
+ public partial class UnionClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public UnionClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClient.cs
index 4f240a760b1..e59dbe60aa6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class AddedClient
public AddedClient(Uri endpoint, AddedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public AddedClient(AddedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult V1(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClientOptions.cs
index 773ddd6c34e..b7fbe47ed89 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.Added
{
@@ -12,6 +14,9 @@ public partial class AddedClientOptions : ClientPipelineOptions
public AddedClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal AddedClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClientSettings.cs
new file mode 100644
index 00000000000..de45b556cb9
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/src/Generated/AddedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.Added
+{
+ [Experimental("SCME0002")]
+ public partial class AddedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public AddedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClient.cs
index 15c9f8e666d..6df5b4baa38 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class AddedClient
public AddedClient(Uri endpoint, AddedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public AddedClient(AddedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult V1(string headerV2, BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClientOptions.cs
index e2f29f0a557..9719d90a137 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.Added
{
@@ -12,6 +14,9 @@ public partial class AddedClientOptions : ClientPipelineOptions
public AddedClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal AddedClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClientSettings.cs
new file mode 100644
index 00000000000..de45b556cb9
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/src/Generated/AddedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.Added
+{
+ [Experimental("SCME0002")]
+ public partial class AddedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public AddedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClient.cs
index 8594bc90f75..0ede1d2c6c6 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class MadeOptionalClient
public MadeOptionalClient(Uri endpoint, MadeOptionalClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public MadeOptionalClient(MadeOptionalClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Test(string @param, BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClientOptions.cs
index 3eefb1ff588..d26fc936f07 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.MadeOptional
{
@@ -12,6 +14,9 @@ public partial class MadeOptionalClientOptions : ClientPipelineOptions
public MadeOptionalClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal MadeOptionalClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClientSettings.cs
new file mode 100644
index 00000000000..4773765707d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/src/Generated/MadeOptionalClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.MadeOptional
+{
+ [Experimental("SCME0002")]
+ public partial class MadeOptionalClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public MadeOptionalClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClient.cs
index a78a2f47210..d777d66aaf0 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class MadeOptionalClient
public MadeOptionalClient(Uri endpoint, MadeOptionalClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public MadeOptionalClient(MadeOptionalClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Test(BinaryContent content, string @param = default, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClientOptions.cs
index f328701bf0d..61493a2cdce 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.MadeOptional
{
@@ -12,6 +14,9 @@ public partial class MadeOptionalClientOptions : ClientPipelineOptions
public MadeOptionalClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal MadeOptionalClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClientSettings.cs
new file mode 100644
index 00000000000..4773765707d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/src/Generated/MadeOptionalClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.MadeOptional
+{
+ [Experimental("SCME0002")]
+ public partial class MadeOptionalClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public MadeOptionalClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClient.cs
index 9d7b39f1c89..0494eec7ee4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class RemovedClient
public RemovedClient(Uri endpoint, RemovedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RemovedClient(RemovedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult V1(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClientOptions.cs
index 6389ac97d10..e72954e373d 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.Removed
{
@@ -12,6 +14,9 @@ public partial class RemovedClientOptions : ClientPipelineOptions
public RemovedClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal RemovedClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClientSettings.cs
new file mode 100644
index 00000000000..ff06e89e8df
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/src/Generated/RemovedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.Removed
+{
+ [Experimental("SCME0002")]
+ public partial class RemovedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RemovedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClient.cs
index febf2295a42..9c21a4389af 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class RemovedClient
public RemovedClient(Uri endpoint, RemovedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RemovedClient(RemovedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult V2(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClientOptions.cs
index 4925a16b6eb..f2256cfd36c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.Removed
{
@@ -12,6 +14,9 @@ public partial class RemovedClientOptions : ClientPipelineOptions
public RemovedClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal RemovedClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClientSettings.cs
new file mode 100644
index 00000000000..ff06e89e8df
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/src/Generated/RemovedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.Removed
+{
+ [Experimental("SCME0002")]
+ public partial class RemovedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RemovedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClient.cs
index 9d7b39f1c89..0494eec7ee4 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class RemovedClient
public RemovedClient(Uri endpoint, RemovedClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RemovedClient(RemovedClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult V1(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClientOptions.cs
index 43faac8d671..f7d8d97afa9 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.Removed
{
@@ -12,6 +14,9 @@ public partial class RemovedClientOptions : ClientPipelineOptions
public RemovedClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal RemovedClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClientSettings.cs
new file mode 100644
index 00000000000..ff06e89e8df
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/src/Generated/RemovedClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.Removed
+{
+ [Experimental("SCME0002")]
+ public partial class RemovedClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RemovedClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClient.cs
index d65af3f3675..77a991092ec 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class RenamedFromClient
public RenamedFromClient(Uri endpoint, RenamedFromClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RenamedFromClient(RenamedFromClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult OldOp(string oldQuery, BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClientOptions.cs
index 079e9e380f8..3119ae73302 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.RenamedFrom
{
@@ -12,6 +14,9 @@ public partial class RenamedFromClientOptions : ClientPipelineOptions
public RenamedFromClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal RenamedFromClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClientSettings.cs
new file mode 100644
index 00000000000..da511564820
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/src/Generated/RenamedFromClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.RenamedFrom
+{
+ [Experimental("SCME0002")]
+ public partial class RenamedFromClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RenamedFromClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClient.cs
index 6c6eb4de56b..02cd0a8b330 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class RenamedFromClient
public RenamedFromClient(Uri endpoint, RenamedFromClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public RenamedFromClient(RenamedFromClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult NewOp(string newQuery, BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClientOptions.cs
index 7d99ad1eb2f..6079b82ab55 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.RenamedFrom
{
@@ -12,6 +14,9 @@ public partial class RenamedFromClientOptions : ClientPipelineOptions
public RenamedFromClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal RenamedFromClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClientSettings.cs
new file mode 100644
index 00000000000..da511564820
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/src/Generated/RenamedFromClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.RenamedFrom
+{
+ [Experimental("SCME0002")]
+ public partial class RenamedFromClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public RenamedFromClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClient.cs
index aa02fb0c6aa..8841b668a8f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class ReturnTypeChangedFromClient
public ReturnTypeChangedFromClient(Uri endpoint, ReturnTypeChangedFromClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ReturnTypeChangedFromClient(ReturnTypeChangedFromClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Test(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClientOptions.cs
index e8bee0a6323..fd2f1ec452c 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.ReturnTypeChangedFrom
{
@@ -12,6 +14,9 @@ public partial class ReturnTypeChangedFromClientOptions : ClientPipelineOptions
public ReturnTypeChangedFromClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal ReturnTypeChangedFromClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClientSettings.cs
new file mode 100644
index 00000000000..d8b043ada18
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/src/Generated/ReturnTypeChangedFromClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.ReturnTypeChangedFrom
+{
+ [Experimental("SCME0002")]
+ public partial class ReturnTypeChangedFromClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ReturnTypeChangedFromClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClient.cs
index 59f110a0c55..4cb7e5f51eb 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class ReturnTypeChangedFromClient
public ReturnTypeChangedFromClient(Uri endpoint, ReturnTypeChangedFromClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public ReturnTypeChangedFromClient(ReturnTypeChangedFromClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Test(BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClientOptions.cs
index b6d5d3ef543..6c62310339f 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.ReturnTypeChangedFrom
{
@@ -12,6 +14,9 @@ public partial class ReturnTypeChangedFromClientOptions : ClientPipelineOptions
public ReturnTypeChangedFromClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal ReturnTypeChangedFromClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClientSettings.cs
new file mode 100644
index 00000000000..d8b043ada18
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/src/Generated/ReturnTypeChangedFromClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.ReturnTypeChangedFrom
+{
+ [Experimental("SCME0002")]
+ public partial class ReturnTypeChangedFromClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public ReturnTypeChangedFromClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClient.cs
index cd3284b715d..2d4aaf1394b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class TypeChangedFromClient
public TypeChangedFromClient(Uri endpoint, TypeChangedFromClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public TypeChangedFromClient(TypeChangedFromClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Test(int @param, BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClientOptions.cs
index e335851e9c0..2fd14057077 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.TypeChangedFrom
{
@@ -12,6 +14,9 @@ public partial class TypeChangedFromClientOptions : ClientPipelineOptions
public TypeChangedFromClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal TypeChangedFromClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClientSettings.cs
new file mode 100644
index 00000000000..51180632a28
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/src/Generated/TypeChangedFromClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.TypeChangedFrom
+{
+ [Experimental("SCME0002")]
+ public partial class TypeChangedFromClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public TypeChangedFromClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClient.cs
index 4ac83f56d47..69ce861f652 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClient.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClient.cs
@@ -5,6 +5,7 @@
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Threading.Tasks;
@@ -18,6 +19,9 @@ public partial class TypeChangedFromClient
public TypeChangedFromClient(Uri endpoint, TypeChangedFromClientOptions options) => throw null;
+ [Experimental("SCME0002")]
+ public TypeChangedFromClient(TypeChangedFromClientSettings settings) : this(settings?.Endpoint, settings?.Options) => throw null;
+
public ClientPipeline Pipeline => throw null;
public virtual ClientResult Test(string @param, BinaryContent content, RequestOptions options = null) => throw null;
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClientOptions.cs
index bd3fa375597..7ecdd66c06b 100644
--- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClientOptions.cs
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClientOptions.cs
@@ -3,6 +3,8 @@
#nullable disable
using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
namespace Versioning.TypeChangedFrom
{
@@ -12,6 +14,9 @@ public partial class TypeChangedFromClientOptions : ClientPipelineOptions
public TypeChangedFromClientOptions(ServiceVersion version = LatestVersion) => throw null;
+ [Experimental("SCME0002")]
+ internal TypeChangedFromClientOptions(IConfigurationSection section) : base(section) => throw null;
+
public enum ServiceVersion
{
/// The version v1.
diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClientSettings.cs
new file mode 100644
index 00000000000..51180632a28
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/src/Generated/TypeChangedFromClientSettings.cs
@@ -0,0 +1,29 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Diagnostics.CodeAnalysis;
+using Microsoft.Extensions.Configuration;
+
+namespace Versioning.TypeChangedFrom
+{
+ [Experimental("SCME0002")]
+ public partial class TypeChangedFromClientSettings : ClientSettings
+ {
+ public Uri Endpoint
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ public TypeChangedFromClientOptions Options
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ protected override void BindCore(IConfigurationSection section) => throw null;
+ }
+}