diff --git a/samples/Azure.ResourceManager.Sample/Generated/AvailabilitySetContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/AvailabilitySetContainer.cs index c53d9be5ddc..f24751a7a18 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/AvailabilitySetContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/AvailabilitySetContainer.cs @@ -31,6 +31,9 @@ internal AvailabilitySetContainer(ResourceOperationsBase parent) : base(parent) _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/DedicatedHostContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/DedicatedHostContainer.cs index 064518a555f..cebe0c25779 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/DedicatedHostContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/DedicatedHostContainer.cs @@ -31,6 +31,9 @@ internal DedicatedHostContainer(ResourceOperationsBase parent) : base(parent) _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/DedicatedHostGroupContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/DedicatedHostGroupContainer.cs index 1ba82ea21bb..6f7d7ce3700 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/DedicatedHostGroupContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/DedicatedHostGroupContainer.cs @@ -31,6 +31,9 @@ internal DedicatedHostGroupContainer(ResourceOperationsBase parent) : base(paren _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/ImageContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/ImageContainer.cs index 1d92b19325f..37672d31691 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/ImageContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/ImageContainer.cs @@ -31,6 +31,9 @@ internal ImageContainer(ResourceOperationsBase parent) : base(parent) _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/ProximityPlacementGroupContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/ProximityPlacementGroupContainer.cs index b2f47a4ca43..6b93429bd2a 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/ProximityPlacementGroupContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/ProximityPlacementGroupContainer.cs @@ -31,6 +31,9 @@ internal ProximityPlacementGroupContainer(ResourceOperationsBase parent) : base( _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/SshPublicKeyContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/SshPublicKeyContainer.cs index 739a240b155..a3e3891e355 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/SshPublicKeyContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/SshPublicKeyContainer.cs @@ -31,6 +31,9 @@ internal SshPublicKeyContainer(ResourceOperationsBase parent) : base(parent) _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineContainer.cs index ff03f171d69..9c41fb22e8f 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineContainer.cs @@ -31,6 +31,9 @@ internal VirtualMachineContainer(ResourceOperationsBase parent) : base(parent) _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionContainer.cs index 683cc2cb7f9..b8e7dbf3f50 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionContainer.cs @@ -31,6 +31,9 @@ internal VirtualMachineExtensionContainer(ResourceOperationsBase parent) : base( _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionImageContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionImageContainer.cs index 5080655b0bb..008426d8dec 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionImageContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionImageContainer.cs @@ -31,6 +31,9 @@ internal VirtualMachineExtensionImageContainer(ResourceOperationsBase parent) : _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionVirtualMachineScaleSetContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionVirtualMachineScaleSetContainer.cs index e618d99ffe3..e689dab9dbf 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionVirtualMachineScaleSetContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineExtensionVirtualMachineScaleSetContainer.cs @@ -31,6 +31,9 @@ internal VirtualMachineExtensionVirtualMachineScaleSetContainer(ResourceOperatio _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetContainer.cs index 30a56efb3cb..33beb3069f8 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetContainer.cs @@ -31,6 +31,9 @@ internal VirtualMachineScaleSetContainer(ResourceOperationsBase parent) : base(p _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetExtensionContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetExtensionContainer.cs index e1c33802910..b637446ee00 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetExtensionContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetExtensionContainer.cs @@ -31,6 +31,9 @@ internal VirtualMachineScaleSetExtensionContainer(ResourceOperationsBase parent) _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetVMContainer.cs b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetVMContainer.cs index 2fd037a9e4b..cac3e8c1fde 100644 --- a/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetVMContainer.cs +++ b/samples/Azure.ResourceManager.Sample/Generated/VirtualMachineScaleSetVMContainer.cs @@ -31,6 +31,9 @@ internal VirtualMachineScaleSetVMContainer(ResourceOperationsBase parent) : base _clientDiagnostics = new ClientDiagnostics(ClientOptions); } + /// Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/src/AutoRest.CSharp/Common/Generation/Writers/LongRunningOperationWriter.cs b/src/AutoRest.CSharp/Common/Generation/Writers/LongRunningOperationWriter.cs index 0a35e867b6a..7524a6190ae 100644 --- a/src/AutoRest.CSharp/Common/Generation/Writers/LongRunningOperationWriter.cs +++ b/src/AutoRest.CSharp/Common/Generation/Writers/LongRunningOperationWriter.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using AutoRest.CSharp.Generation.Types; using AutoRest.CSharp.Output.Models.Requests; +using AutoRest.CSharp.Output.Models.Types; using Azure; using Azure.Core; using Azure.Core.Pipeline; @@ -16,7 +17,7 @@ namespace AutoRest.CSharp.Generation.Writers { internal class LongRunningOperationWriter { - public void Write(CodeWriter writer, LongRunningOperation operation) + public void Write(CodeWriter writer, LongRunningOperation operation, BuildContext? context = null) { var responseVariable = "response"; var pagingResponse = operation.PagingResponse; @@ -38,7 +39,7 @@ public void Write(CodeWriter writer, LongRunningOperation operation) using (writer.Scope()) { - WriteFields(writer, operation, pagingResponse, helperType); + WriteFields(writer, operation, pagingResponse, helperType, context); writer.Line(); writer.WriteXmlDocumentationSummary($"Initializes a new instance of {cs.Name} for mocking."); @@ -48,7 +49,7 @@ public void Write(CodeWriter writer, LongRunningOperation operation) writer.Line(); - WriteConstructor(writer, operation, pagingResponse, cs, helperType); + WriteConstructor(writer, operation, pagingResponse, cs, helperType, context); writer.Line(); writer.WriteXmlDocumentationInheritDoc(); @@ -132,7 +133,7 @@ protected virtual CSharpType GetHelperType(LongRunningOperation operation) return operation.ResultType != null ? new CSharpType(typeof(OperationInternals<>), operation.ResultType) : new CSharpType(typeof(OperationInternals)); } - protected virtual void WriteFields(CodeWriter writer, LongRunningOperation operation, PagingResponseInfo? pagingResponse, CSharpType helperType) + protected virtual void WriteFields(CodeWriter writer, LongRunningOperation operation, PagingResponseInfo? pagingResponse, CSharpType helperType, BuildContext? context = null) { writer.Line($"private readonly {helperType} _operation;"); @@ -142,7 +143,7 @@ protected virtual void WriteFields(CodeWriter writer, LongRunningOperation opera } } - protected virtual void WriteConstructor(CodeWriter writer, LongRunningOperation operation, PagingResponseInfo? pagingResponse, CSharpType lroType, CSharpType helperType) + protected virtual void WriteConstructor(CodeWriter writer, LongRunningOperation operation, PagingResponseInfo? pagingResponse, CSharpType lroType, CSharpType helperType, BuildContext? context = null) { writer.Append($"internal {lroType.Name}({typeof(ClientDiagnostics)} clientDiagnostics, {typeof(HttpPipeline)} pipeline, {typeof(Request)} request, {typeof(Response)} response"); diff --git a/src/AutoRest.CSharp/Mgmt/AutoRest/MgmtTarget.cs b/src/AutoRest.CSharp/Mgmt/AutoRest/MgmtTarget.cs index 2e4d8b82dd8..de7abdcbad7 100644 --- a/src/AutoRest.CSharp/Mgmt/AutoRest/MgmtTarget.cs +++ b/src/AutoRest.CSharp/Mgmt/AutoRest/MgmtTarget.cs @@ -88,7 +88,7 @@ public static void Execute(GeneratedCodeWorkspace project, CodeModel codeModel, foreach (var operation in context.Library.LongRunningOperations) { var codeWriter = new CodeWriter(); - mgmtLongRunningOperationWriter.Write(codeWriter, operation); + mgmtLongRunningOperationWriter.Write(codeWriter, operation, context); project.AddGeneratedFile($"{operation.Type.Name}.cs", codeWriter.ToString()); } @@ -96,7 +96,7 @@ public static void Execute(GeneratedCodeWorkspace project, CodeModel codeModel, foreach (var operation in context.Library.NonLongRunningOperations) { var codeWriter = new CodeWriter(); - NonLongRunningOperationWriter.Write(codeWriter, operation); + NonLongRunningOperationWriter.Write(codeWriter, operation, context); project.AddGeneratedFile($"{operation.Type.Name}.cs", codeWriter.ToString()); } diff --git a/src/AutoRest.CSharp/Mgmt/Generation/MgmtLongRunningOperationWriter.cs b/src/AutoRest.CSharp/Mgmt/Generation/MgmtLongRunningOperationWriter.cs index 3c20aa08a0f..20411c4d691 100644 --- a/src/AutoRest.CSharp/Mgmt/Generation/MgmtLongRunningOperationWriter.cs +++ b/src/AutoRest.CSharp/Mgmt/Generation/MgmtLongRunningOperationWriter.cs @@ -7,8 +7,10 @@ using System.Threading.Tasks; using AutoRest.CSharp.Generation.Types; using AutoRest.CSharp.Generation.Writers; +using AutoRest.CSharp.Mgmt.Decorator; using AutoRest.CSharp.Mgmt.Output; using AutoRest.CSharp.Output.Models.Requests; +using AutoRest.CSharp.Output.Models.Types; using Azure; using Azure.Core; using Azure.Core.Pipeline; @@ -45,8 +47,9 @@ protected override CSharpType GetValueTaskType(LongRunningOperation operation) return mgmtOperation.WrapperType != null ? new CSharpType(typeof(Response<>), mgmtOperation.WrapperType) : base.GetValueTaskType(operation); } - protected override void WriteFields(CodeWriter writer, LongRunningOperation operation, PagingResponseInfo? pagingResponse, CSharpType helperType) + protected override void WriteFields(CodeWriter writer, LongRunningOperation operation, PagingResponseInfo? pagingResponse, CSharpType helperType, BuildContext? context) { + Debug.Assert(context != null); base.WriteFields(writer, operation, pagingResponse, helperType); MgmtLongRunningOperation mgmtOperation = AsMgmtOperation(operation); @@ -54,18 +57,23 @@ protected override void WriteFields(CodeWriter writer, LongRunningOperation oper if (mgmtOperation.WrapperType != null) { writer.Line(); - writer.Line($"private readonly {typeof(ResourceOperationsBase)} {_operationBaseField};"); + var isTenantResource = (operation.ResultType?.Implementation as MgmtObjectType)?.OperationGroup?.IsTenantResource(context.Configuration.MgmtConfiguration) == true; + var optionType = isTenantResource ? typeof(OperationsBase) : typeof(ResourceOperationsBase); + writer.Line($"private readonly {optionType} {_operationBaseField};"); } } - protected override void WriteConstructor(CodeWriter writer, LongRunningOperation operation, PagingResponseInfo? pagingResponse, CSharpType cs, CSharpType helperType) + protected override void WriteConstructor(CodeWriter writer, LongRunningOperation operation, PagingResponseInfo? pagingResponse, CSharpType cs, CSharpType helperType, BuildContext? context) { + Debug.Assert(context != null); MgmtLongRunningOperation mgmtOperation = AsMgmtOperation(operation); if (mgmtOperation.WrapperType != null) { // pass operationsBase in so that the construction of [Resource] is possible - writer.Append($"internal {cs.Name}({typeof(ResourceOperationsBase)} operationsBase, {typeof(ClientDiagnostics)} clientDiagnostics, {typeof(HttpPipeline)} pipeline, {typeof(Request)} request, {typeof(Response)} response"); + var isTenantResource = (operation.ResultType?.Implementation as MgmtObjectType)?.OperationGroup?.IsTenantResource(context.Configuration.MgmtConfiguration) == true; + var optionType = isTenantResource ? typeof(OperationsBase) : typeof(ResourceOperationsBase); + writer.Append($"internal {cs.Name}({optionType} operationsBase, {typeof(ClientDiagnostics)} clientDiagnostics, {typeof(HttpPipeline)} pipeline, {typeof(Request)} request, {typeof(Response)} response"); if (pagingResponse != null) { diff --git a/src/AutoRest.CSharp/Mgmt/Generation/NonLongRunningOperationWriter.cs b/src/AutoRest.CSharp/Mgmt/Generation/NonLongRunningOperationWriter.cs index 4690ba4bb9c..419b71b2b8a 100644 --- a/src/AutoRest.CSharp/Mgmt/Generation/NonLongRunningOperationWriter.cs +++ b/src/AutoRest.CSharp/Mgmt/Generation/NonLongRunningOperationWriter.cs @@ -6,7 +6,9 @@ using System.Threading.Tasks; using AutoRest.CSharp.Generation.Types; using AutoRest.CSharp.Generation.Writers; +using AutoRest.CSharp.Mgmt.Decorator; using AutoRest.CSharp.Mgmt.Output; +using AutoRest.CSharp.Output.Models.Types; using Azure; using Azure.Core; using Azure.ResourceManager.Core; @@ -20,7 +22,7 @@ internal class NonLongRunningOperationWriter /// /// /// - public static void Write(CodeWriter writer, NonLongRunningOperation operation) + public static void Write(CodeWriter writer, NonLongRunningOperation operation, BuildContext context) { var responseVariable = "response"; @@ -52,7 +54,9 @@ public static void Write(CodeWriter writer, NonLongRunningOperation operation) if (operation.ResultDataType != null) { // todo: programmatically get the type of operationBase from the definition of [Resource] - writer.Append($"{typeof(ResourceOperationsBase)} operationsBase, "); + var isTenantResource = (operation.ResultType?.Implementation as Resource)?.OperationGroup.IsTenantResource(context.Configuration.MgmtConfiguration) == true; + var optionType = isTenantResource ? typeof(OperationsBase) : typeof(ResourceOperationsBase); + writer.Append($"{optionType} operationsBase, "); writer.Append($"{typeof(Response)}<{operation.ResultDataType}> {responseVariable}"); } else diff --git a/src/AutoRest.CSharp/Mgmt/Generation/ResourceContainerWriter.cs b/src/AutoRest.CSharp/Mgmt/Generation/ResourceContainerWriter.cs index 223e7dba257..20c1349ef96 100644 --- a/src/AutoRest.CSharp/Mgmt/Generation/ResourceContainerWriter.cs +++ b/src/AutoRest.CSharp/Mgmt/Generation/ResourceContainerWriter.cs @@ -65,7 +65,13 @@ public void WriteContainer() string baseClass = GetBaseType(); using (_writer.Scope($"{_resourceContainer.Declaration.Accessibility} partial class {cs.Name:D} : {baseClass}")) { - WriteContainerCtors(_writer, _resourceContainer.Type.Name, "ResourceOperationsBase", "parent"); + var isTenantResource = _resourceContainer.OperationGroup.IsTenantResource(_context.Configuration.MgmtConfiguration); + var conextArgumentType = isTenantResource ? "OperationsBase" : "ResourceOperationsBase"; + WriteContainerCtors(_writer, _resourceContainer.Type.Name, conextArgumentType, "parent"); + if (!isTenantResource) + { + WriteParent(_writer); + } WriteFields(_writer, _restClient!); WriteIdProperty(); WriteContainerProperties(_writer, _resourceContainer.GetValidResourceValue()); @@ -76,6 +82,13 @@ public void WriteContainer() } } + private void WriteParent(CodeWriter writer) + { + _writer.Line(); + _writer.WriteXmlDocumentationSummary($"Get the parent resource of this container."); + _writer.Line($"protected new ResourceOperationsBase Parent {{ get {{return base.Parent as ResourceOperationsBase;}} }}"); + } + private void WriteRemainingMethods() { _writer.Line(); diff --git a/src/AutoRest.CSharp/Mgmt/Generation/ResourceOperationWriter.cs b/src/AutoRest.CSharp/Mgmt/Generation/ResourceOperationWriter.cs index 5ff09ccc3f8..f2c08f4c7c5 100644 --- a/src/AutoRest.CSharp/Mgmt/Generation/ResourceOperationWriter.cs +++ b/src/AutoRest.CSharp/Mgmt/Generation/ResourceOperationWriter.cs @@ -140,7 +140,9 @@ private void WriteClientCtors(CodeWriter writer, ResourceOperation resourceOpera writer.WriteXmlDocumentationParameter("id", "The identifier of the resource that is the target of operations."); } var baseConstructorCall = isSingleton ? "base(options)" : "base(options, id)"; - using (writer.Scope($"protected internal {typeOfThis}({typeof(ResourceOperationsBase)} options{constructorIdParam}) : {baseConstructorCall}")) + var isTenantResource = resourceOperation.OperationGroup.IsTenantResource(context.Configuration.MgmtConfiguration); + var optionType = isTenantResource ? typeof(OperationsBase) : typeof(ResourceOperationsBase); + using (writer.Scope($"protected internal {typeOfThis}({optionType} options{constructorIdParam}) : {baseConstructorCall}")) { if (!isSingleton) { diff --git a/src/AutoRest.CSharp/Mgmt/Generation/ResourceWriter.cs b/src/AutoRest.CSharp/Mgmt/Generation/ResourceWriter.cs index 032ad3d2f5b..933ef7d7d69 100644 --- a/src/AutoRest.CSharp/Mgmt/Generation/ResourceWriter.cs +++ b/src/AutoRest.CSharp/Mgmt/Generation/ResourceWriter.cs @@ -36,8 +36,9 @@ public void WriteResource(CodeWriter writer, Resource resource, BuildContext Get the parent resource of this container. + protected new ResourceOperationsBase Parent { get { return base.Parent as ResourceOperationsBase; } } + private readonly ClientDiagnostics _clientDiagnostics; /// Represents the REST operations. diff --git a/test/TestProjects/TenantOnly/Generated/BillingAccount.cs b/test/TestProjects/TenantOnly/Generated/BillingAccount.cs index da47ae9a5c9..a4cfe0b54c3 100644 --- a/test/TestProjects/TenantOnly/Generated/BillingAccount.cs +++ b/test/TestProjects/TenantOnly/Generated/BillingAccount.cs @@ -17,7 +17,7 @@ public class BillingAccount : BillingAccountOperations /// Initializes a new instance of the class. /// The client parameters to use in these operations. /// The resource that is the target of operations. - internal BillingAccount(ResourceOperationsBase options, BillingAccountData resource) : base(options, resource.Id) + internal BillingAccount(OperationsBase options, BillingAccountData resource) : base(options, resource.Id) { Data = resource; } diff --git a/test/TestProjects/TenantOnly/Generated/BillingAccountContainer.cs b/test/TestProjects/TenantOnly/Generated/BillingAccountContainer.cs index 4aff4597df1..1a9f8a4b7aa 100644 --- a/test/TestProjects/TenantOnly/Generated/BillingAccountContainer.cs +++ b/test/TestProjects/TenantOnly/Generated/BillingAccountContainer.cs @@ -25,7 +25,7 @@ protected BillingAccountContainer() /// Initializes a new instance of BillingAccountContainer class. /// The resource representing the parent resource. - internal BillingAccountContainer(ResourceOperationsBase parent) : base(parent) + internal BillingAccountContainer(OperationsBase parent) : base(parent) { _clientDiagnostics = new ClientDiagnostics(ClientOptions); } diff --git a/test/TestProjects/TenantOnly/Generated/BillingAccountOperations.cs b/test/TestProjects/TenantOnly/Generated/BillingAccountOperations.cs index b16a28b70d2..65cc32cc8f1 100644 --- a/test/TestProjects/TenantOnly/Generated/BillingAccountOperations.cs +++ b/test/TestProjects/TenantOnly/Generated/BillingAccountOperations.cs @@ -30,7 +30,7 @@ protected BillingAccountOperations() /// Initializes a new instance of the class. /// The client parameters to use in these operations. /// The identifier of the resource that is the target of operations. - protected internal BillingAccountOperations(ResourceOperationsBase options, TenantResourceIdentifier id) : base(options, id) + protected internal BillingAccountOperations(OperationsBase options, TenantResourceIdentifier id) : base(options, id) { _clientDiagnostics = new ClientDiagnostics(ClientOptions); _restClient = new BillingAccountsRestOperations(_clientDiagnostics, Pipeline, BaseUri); diff --git a/test/TestProjects/TenantOnly/Generated/BillingAccountsUpdateOperation.cs b/test/TestProjects/TenantOnly/Generated/BillingAccountsUpdateOperation.cs index 951d42a80d7..d725de8dfbf 100644 --- a/test/TestProjects/TenantOnly/Generated/BillingAccountsUpdateOperation.cs +++ b/test/TestProjects/TenantOnly/Generated/BillingAccountsUpdateOperation.cs @@ -21,14 +21,14 @@ public partial class BillingAccountsUpdateOperation : Operation, { private readonly OperationInternals _operation; - private readonly ResourceOperationsBase _operationBase; + private readonly OperationsBase _operationBase; /// Initializes a new instance of BillingAccountsUpdateOperation for mocking. protected BillingAccountsUpdateOperation() { } - internal BillingAccountsUpdateOperation(ResourceOperationsBase operationsBase, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response) + internal BillingAccountsUpdateOperation(OperationsBase operationsBase, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response) { _operation = new OperationInternals(this, clientDiagnostics, pipeline, request, response, OperationFinalStateVia.AzureAsyncOperation, "BillingAccountsUpdateOperation"); _operationBase = operationsBase; diff --git a/test/TestProjects/TenantOnly/TenantOnly.csproj b/test/TestProjects/TenantOnly/TenantOnly.csproj index 6216658ba67..46d32d7014c 100644 --- a/test/TestProjects/TenantOnly/TenantOnly.csproj +++ b/test/TestProjects/TenantOnly/TenantOnly.csproj @@ -11,11 +11,12 @@ - + + - +