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; + } +}